Многомерные и несимметричные массивы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Создаются многомерные массивы в Java аналогичным способом. Количество квадратных скобок указывает на размерность.
Примеры создания массивов фиксированной длины:

int[][] a = new int[5][5];// двумерный массивint[][][] b = new int[3][4][5];// трехмерный массивint[][][][] c = new int[2][4][5][5];// четырехмерный массив// и т.д.

Однако, не обязательно изначально указывать размер на всех уровнях, можно указать размер только на первом уровне.

int[][] a1 = new int[5][];// двумерный массив с 5 строками

В данном случае, пока неизвестно сколько будет элементов в каждой строке, это можно определить позже, причем, массив может содержать в каждой строке разное количество элементов, то есть быть несимметричным. Определим количество элементов в каждой строке для массива a1

a1[0] = new int [1];a1[1] = new int [2];a1[2] = new int [3];a1[3] = new int [4];a1[4] = new int [5];

В результате, при выводе на экран,

for(int i = 0; i<a1.length; i++){       for(int j = 0; j<a1[i].length; j++){                                    System.out.print(a1[i][j] + " ");       }       System.out.println();}

массив будет иметь такой вид:

0
0 0
0 0 0
0 0 0 0
0 0 0 0 0

При создании массива его элементы автоматически инициализируются нулями, поэтому в это примере на экран выведены нули.






Задачи на двумерные массивы

1. Создайте массив размерностью 5 на 6 и заполните его случайными числами (в диапазоне от 0 до 99 ). Выведите на консоль третью строку

2. Знайти мінімальний елемент матриці K(3,5) і його індекс.

3. Всі елементи матриці М(4,5) з непарними значеннями замінити на 1, а з парними - на 0.

4. Даны матрицы С и D размерностью 3 на 3 и заполненные случайными числами в диапазоне от 0 до 99. Выполните сложение матриц. Выведете исходные матрицы и результат вычислений на консоль.

5. Просуммируйте все элементы двумерного массива

6. Знайти суму елементів головної та побічної діагоналі матриці А(5,5).

7. Елементи 1-го та 3-го рядка матриці поміняти місцями.

Является ли массив возрастающей последовательностью

Транспонирование матрицы в Java



Строки в JAVA

Строка — это упорядоченная последовательность символов. В Java строка является основным носителем текстовой информации. Для работы со строками здесь используются следующие классы: String, StringBuilder, StringBuffer.

String

Для создания и манипулирования строками Java платформа предоставляет общедоступный финальный (не может иметь подклассов) класс java.lang.String. Данный класс является неизменяемым (immutable) — созданный объект класса String не может быть изменен. Можно подумать, что методы имеют право изменять этот объект, но это неверно. Методы могут только создавать и возвращать новые строки, в которых хранится результат операции. То есть при любых операциях над строкой, которые изменяют эту строку, фактически будет создаваться новая строка.

Создание строк

String str1 = "Java";

String str2 = new String(); // пустая строка

String str3 = new String ("Java");

String str4 = new String(new char[] {'h', 'e', 'l', 'l', 'o'});

String str5 = new String(new char[]{'w', 'e', 'l', 'c', 'o', 'm', 'e'}, 3, 4);//3 -начальный //индекс, 4 -кол-во символов come

Поскольку строка рассматривается как набор символов, то мы можем применить метод length() для нахождения длины строки или длины набора символов:

String str1 = "Java";

System.out.println(str1.length()); // 4

 

Соединение строк

Для соединения строк можно использовать операцию сложения ("+"):

String str1 = "Java";String str2 = "Hello";String str3 = str1 + " " + str2;System.out.println(str3); // Java Hello

 

При этом если в операции сложения строк используется нестроковый объект, например, число, то этот объект преобразуется к строке:

String str3 = "Год " + 2015;

 

Фактически же при сложении строк с нестроковыми объектами будет вызываться метод valueOf() класса String. Данный метод имеет множество перегрузок и преобразует практически все типы данных к строке. Для преобразования объектов различных классов метод valueOf вызывает метод toString() этих классов.

Другой способ объединения строк представляет метод concat():

String str1 = "Java";String str2 = "Hello";str2 = str2.concat(str1); // HelloJava

 

Метод concat() принимает строку, с которой надо объединить вызывающую строку, и возвращает соединенную строку.

 

Еще один метод объединения - метод join() позволяет объединить строки с учетом разделителя. Например, выше две строки сливались в одно слово "HelloJava", но в идеале мы бы хотели, чтобы две подстроки были разделены пробелом. И для этого используем метод join():

String str1 = "Java";String str2 = "Hello";String str3 = String.join(" ", str2, str1); // Hello Java

Метод join является статическим. Первым параметром идет разделитель, которым будут разделяться подстроки в общей строке, а все последующие параметры передают через запятую произвольный набор объединяемых подстрок - в данном случае две строки, хотя их может быть и больше

 

Дата: 2018-11-18, просмотров: 661.