Last active
April 16, 2018 04:57
-
-
Save proffix4/eeb608972e99ade93adb2065ed9c7026 to your computer and use it in GitHub Desktop.
Java - Working with arrays
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. ОДНОМЕРНЫЕ СТАТИЧЕСКИЕ МАССИВЫ | |
package tsn01.array; | |
import java.util.Arrays; | |
public class TSN01_Array { | |
public static void main(String[] args) { | |
// Пример работы с одномерными статическими массивами | |
int a[], b[]; // Переменные-массивы целых чисел | |
a = new int[10]; // Создание массива без инициализации | |
b = new int[]{1, 2, 3, 4}; // Создание массива с инициализацией | |
String s[] = new String[] {"Hello ", "world", "!!!"}; // Описываем и создаем массив строк | |
Arrays.fill(a, 0); // Заполнить массив нулями | |
a[0] = 20; a[1] = 10; a[2] = 5; a[3] = 33; // Устанавливаем значения 4 элементам | |
Arrays.fill(a, 5,10,-1); // Присвоить с 5 по 9 (10-1) элементам значение "-1" | |
Arrays.sort(a); // Сортируем массив | |
b[3] = b[1]*0b11+b[2]*0x2; // Рассчитываем значение для 4 элемента | |
System.out.println(Arrays.toString(a)); // Вывод на экран массива "a" | |
System.out.println(Arrays.toString(b)); // Вывод на экран массива "b" | |
System.out.println(Arrays.toString(s)); // Вывод на экран массива "s" | |
// Вывод на экран размеров массивов | |
System.out.println("Количество элементов в массиве \"a\": " + a.length); | |
System.out.println("Количество элементов в массиве \"b\": " + b.length); | |
System.out.println("Количество элементов в массиве \"str\": " + s.length); | |
System.out.println(s[0] + s[1]); // Доступ к элементам массива | |
} | |
} | |
2. МНОГОМЕРНЫЕ СТАТИЧЕСКИЕ МАССИВЫ | |
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(""); | |
} | |
} | |
} | |
3. ДИНАМИЧЕСКИЕ МАССИВЫ | |
3.1. Пример работы с динамическим массивом целых чисел | |
package tsn01.arraylist; | |
import java.util.ArrayList; | |
public class TSN01_ArrayList { | |
public static void main(String[] args) { | |
// Работа с динамическим массивом целых чисел | |
ArrayList<Integer> 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.2. Пример работы с динамическим массивом строк | |
package tsn01.arraylist; | |
import java.util.ArrayList; | |
public class TSN01_ArrayList { | |
public static void main(String[] args) { | |
// Работа с динамическим массивом строк | |
ArrayList<String> pozdr = new ArrayList<>(); // Массив пожеланий | |
ArrayList<String> 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); // Удаляем элемент с индексом р из массива поздравлений | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment