Читаем Визуальное программирование на Java Swing в NetBeans полностью

Многомерные статические массивы служат для хранения двухмерных таблиц с данными. Рассмотрим пример работы с двумерным статическим массивом:


package tsn01.matrix;

public class TSN01_Matrix {

public static void main(String[] args) {

// Работа с двумерным статическим массивом чисел

// Создание исходных данных (элементов массива) и вывод их на экран

final int r = 4; // Количество строк

final int c = 5; // Количество столбцов

int m[][] = new int[r][c]; // Двумерный массив

int k; System.out.println("Matrix:");

for (int i = 0; i < r; i++) { // Цикл по строкам

for (int j = 0; j < c; j++) { // Цикл по колонкам

k = (int) Math.round(Math.random * 100); // Получение случайного числа

m[i][j] = k; // Присвоение элементу массива числа

System.out.print(String.format("%5d", m[i][j])); // Вывод на экран элемента массива

} System.out.println("");

}

// Поиск минимума и максимума в массиве

int min = m[0][0], max = m[0][0], maxi = 0, maxj = 0, mini = 0, minj = 0; // Задаем начальные значения мин и макс

for (int i = 0; i < r; i++) { // Цикл по строкам

for (int j = 0; j < c; j++) { // Цикл по колонкам

k = m[i][j]; // Получаем элемент массива

if (k > max) { max = k; maxi = i; maxj = j; } // Поиск максимума

if (k < min) { min = k; mini = i; minj = j; } // Поиск минимума

}

}

// Меняем максимальный и минимальный элементы в масиве местами

k = m[maxi][maxj]; m[maxi][maxj] = m[mini][minj]; m[mini][minj] = k;

// Вывод измененного массива на экран

System.out.println("New matrix:");

for (int i = 0; i < r; i++) { // Цикл по строкам

for (int j = 0; j < c; j++) { // Цикл по колонкам

System.out.print(String.format("%5d", m[i][j])); // Вывод на экран элемента массива

} System.out.println("");

}

}

}


Результат работы программы:


Matrix:

42 83 94 96 1

2 64 27 32 10

20 86 49 14 36

12 35 14 65 97

New matrix:

42 83 94 96 97

2 64 27 32 10

20 86 49 14 36

12 35 14 65 1


1.7 Динамические массивы-списки

Динамические массивы реализованы на уровне параметризованных классов: Vector и ArrayList. Однако в качестве элементов простые типы выступать не могут, допускаются только объектные типы.

Для управления элементами эти классы используют методы интерфейсов Collection и List:

– add(E o) – добавление элемента в конец;

– add(int index, E element) – вставка элемента в указанную позицию;

– remove(int index) – удаление элемента в указанной позиции;

– remove(Object o) – удаление первого вхождения объекта в списке;

– clear – удаление всех элементов;

– isEmpty – определяет, содержит ли список элементы;

– size – число элементов;

– set(int index, E element) – заменить элемент в указанной позиции новым;

– get(int index) – получить элемент по указанному индексу;

– contains(Object o) – определение, содержится ли указанный объект в списке элементов;

– lastIndexOf(Object o) – поиск последнего вхождения элемента, возвращается индекс элемента или -1;

– indexOf(Object o) – поиск первого вхождения элемента, возвращается индекс элемента или -1;

– toArray – возвращает копию в виде статического массива;

– toArray(T[] a) – сохраняет элементы в указанный массив.

Пример работы с динамическим массивом целых чисел:


package tsn01.arraylist;

import java.util.ArrayList;

public class TSN01_ArrayList {

public static void main(String[] args) {

// Работа с динамическим массивом чисел

ArrayList i = new ArrayList<>; // Создание динамического массива целых чисел

i.add(3); // Добавление значения

i.add(new Integer(3)); // Добавление значения

if (i.get(0)==i.get(1)) { System.out.println("Эта строчка не напечатается…"); }

if (i.get(0).equals(i.get(1))) { System.out.println("3=3"); }

i.add(12+5); // Добавление значения

System.out.println("Размер массива: " + i.size);

System.out.println("Элементы массива: " + i.get(0).intValue + ", " + i.get(1)+ ", " + i.get(2));

}

}


Результат работы программы:


3=3

Размер массива: 3

Элементы массива: 3, 3, 17


Пример работы с динамическим массивом строк:


package tsn01.arraylist;

import java.util.ArrayList;

public class TSN01_ArrayList {

public static void main(String[] args) {

// Работа с динамическим массивом строк

ArrayList pozdr = new ArrayList<>; // Массив пожеланий

ArrayList fam = new ArrayList<>; // Массив фамилий

// Добавление поздравления в массив

pozdr.add("Удачи"); pozdr.add("Здоровья"); pozdr.add("Денег");

// добавление фамилии в массив

fam.add("Петров"); fam.add("Сидоров"); fam.add("Иванов");

// Проверка количества поздравлений

if (fam.size > pozdr.size) { return; }

for (int i = 0; i < fam.size; i++) {

// Генерируем случайное число в диапазоне от 0 до длины массива поздравлений

int p = (int) Math.floor(Math.random * pozdr.size);

// Генерация поздравления

System.out.println("Уважаемый " + fam.get(i)

+ "! Поздравляем Вас с этим прекрасным праздником, и желаем Вам "

+ pozdr.get(p).toString.toLowerCase + "!");

pozdr.remove(p); // Удаляем элемент с индексом р из массива поздравлений

} }

}


1.8 Работа со строками

Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Приемы создания интерьеров различных стилей
Приемы создания интерьеров различных стилей

Книга по созданию трехмерных проектов интерьеров при помощи популярного редактора трехмерной графики 3ds Max позволит каждому, кто хочет заняться моделированием 3D-интерьеров, найти необходимую информацию для воплощения идеи в жизнь. Описывается моделирование элементов и стили оформления интерьеров, работа с материалами и текстурами, способы повышения реалистичности изображений, визуализация. Рассматриваются особенности создания интерьеров в различных стилях: минимализм, ренессанс, барокко, античный, рококо, хай-тек, техно и др. Компакт-диск содержит сцены, сцены-образы, изображения для создания текстур и рисунки из книги в цветном исполнении.Для дизайнеров интерьеров, архитекторов, визуализаторов, разработчиков игр, а также пользователей, увлекающихся трехмерной графикой.

Сергей Михайлович Тимофеев , С. М. Тимофеев

Хобби и ремесла / Программирование, программы, базы данных / Программирование / Прочая компьютерная литература / Дом и досуг / Книги по IT