Авторские Материалы о событиях в Израиле на Ближнем Востоке и в мире

IsraMir.com - Израильская журналистика

Default color brown color green color red color blue color
Вы сейчас тут: Новости arrow Техотдел arrow Свет ученья arrow Массивы в языке Java
Skip to content
Массивы в языке Java Версия для печати Отправить на e-mail
Saturday, 08 April 2006 | Сайт www.ctc.msiu.ru для раздела Ученье – свет
javaisramir.comarrayмассивЯзык Java, так же как и многие другие языки, позволяет работать с массивами элементов различных типов. Массив (array) используют, когда возникает необходимость хранить несколько однотипных значений, например, 50 целых чисел или 100 наименований книг, так как было бы неудобно использовать в таких случаях различные имена для всех этих переменных.
 
Рассмотрим следующую простейшую задачу на работу с массивом целых чисел.
Напишите программу, которая вводит с клавиатуры массив целых чисел, печатает его, а затем инвертирует (то есть меняет местами первый элемент с последним, второй – с предпоследним и так далее) и вновь печатает.
 
Текст программы.
 
public class InvArr {
    public static void main(String[] args) throws Exception {   
        int n, i, a[];
        n = Xterm.inputInt("Введите длину массива n -> ");
        a = new int[n];
 
        for (i=0; i
            a[i] = Xterm.inputInt("Введите a[" + i + "] -> ");
        Xterm.print("Введенный массив a =");
        for (i=0; i
            Xterm.print(" " + a[i]);
 
        Xterm.print("\nИнвертированный массив a =");
        for (i=0; i
            int j = a[i]; a[i] = a[n-1-i]; a[n-1-i] = j;
        }
        for (i=0; i
            Xterm.print(" " + a[i]);
        Xterm.print("\n");
    }
}
 
Как видно из текста этой программы, для того чтобы завести массив, необходимо объявить его и зарезервировать затем память для его элементов с помощью оператора new. В этом случае все они будут автоматически проинициализированы нулевыми значениями. Массив из трех целых чисел, содержащий величины 3, 7 и 11, можно задать так:
    int a[] = {3, 7, 11};
 
Элементы любого массива нумеруются с нуля, а для доступа к -му его элементу используется выражение a[i]. Язык Java отслеживает все попытки обратиться к несуществующему элементу массива -- при попытке работать, скажем с a[n], возникает исключительная ситуация (выход индекса за границу массива), так как последний элемент имеет индекс n-1, а не n.
 
В качестве более содержательного комментария к программе инвертирования массива заметим, что выполнение цикла, переставляющего элементы, завершается, как только будет достигнута середина массива. Если условие продолжения цикла i
 
Рассмотрим еще одну задачу.
Напишите программу, печатающую максимальный элемент непустого массива.

Текст программы.
 
public class MaxArr {
    public static void main(String[] args) throws Exception {   
        int n, i, a[];
        n = Xterm.inputInt("Введите длину массива n -> ");
        a = new int[n];
        for (i=0; i
            a[i] = Xterm.inputInt("Введите a[" + i + "] -> ");
        int max = a[0];
        for (i=1; i
            if (a[i] > max)
                max = a[i];
        Xterm.println("Максимальный элемент массива = " + max);
    }
}
 
В заключение рассмотрим задачу, включающую дополнительное требование на структуру программы.
Напишите программу, печатающую количество максимальных элементов непустого массива; можно использовать только один цикл.

Текст программы.
 
public class NumMaxArr {
    public static void main(String[] args) throws Exception {   
        int n, i, a[];
        n = Xterm.inputInt("Введите длину массива n -> ");
        a = new int[n];
        int max  = Integer.MIN_VALUE;
        int nMax = 0;
        for (i=0; i
            a[i] = Xterm.inputInt("Введите a[" + i + "] -> ");
            if (a[i] > max) {
                max  = a[i];
                nMax = 1;
            } else if (a[i] == max)
                nMax += 1;
        }
        Xterm.println("Количество макс. элементов = " + nMax);  
    }
}
 
Использование константы Integer.MIN_VALUE позволяет избежать необходимости присваивания переменной max значения нулевого элемента массива до начала циклического просмотра остальных элементов.
Можно заметить, что при решении этой задачи массив по-существу не используется. Если в этой программе удалить описание массива a, заменив его на описание целой переменной a, и произвести замену всех вхождений выражения a[i] на a, то программа останется работающей.
 
 
Источник публикации – здесь
 
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:


Автотранслитерация: выключена

Защитный код

Powered by jComments