- Java. Массивы строк. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
- Массивы строк в Java. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
- Связанные темы
- Инициализировать массив строк в Java
- Как заполнить массив в java с клавиатуры
Java. Массивы строк. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
Массивы строк в Java. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
Поиск на других ресурсах:
1. Понятие массива строк. Общая форма объявления одномерного массива строк
Как и любой язык программирования, язык программирования Java может реализовывать массивы строк. Любая строка в Java имеет тип String . Одномерный массив строк имеет тип String[] . Двумерный массив строк имеет тип String[][] .
Общая форма объявления и выделение памяти для одномерного массива строк
String[] arrayName = new String[size];
- String – встроенный в Java класс, который реализует строку символов. Объект типа String поддерживает большой набор операций, которые можно просмотреть здесьи здесь ;
- arrayName – имя объекта (экземпляра) типа String . Фактически, arrayName есть ссылкой на объект типа String ;
- size – размер массива (количество строк, количество элементов типа String ).
Объявление одномерного массива строк и выделение памяти для него можно реализовать и по другому
String[] arrayName;
arrayName = new String[size];
2. Каким образом объявляется одномерный массив строк? Пример
Ниже приведен пример объявления и использования одномерного массива строк.
// объявление одномерного массива строк
String[] array = new String[5];
// заполнение начальными значениями
array[0] = "abcd";
array[1] = "Hello";
array[2] = ""; // пустая строка
array[3] = "bestprog";
array[4] = ";:\\+ color: #008000;">// комбинация "\\" заменяется на "\"
// использование в выражениях
arrayS[4] = arrayS[1] + " " + arrayS[3]; // arrayS[4] = "Hello bestprog"
arrayS[4] += ".net"; // arrayS[4] = "Hello bestprog.net"
Как видно из примера, работа с массивами строк в Java есть довольно удобной и не требует сложных дополнительных преобразований на их обработку.
3. Двумерный массив строк. Общая форма
Возможно, в некоторых задачах возникнет потребность в объявлении двумерного массива строк.
Общая форма объявления двумерного массива строк следующая:
String[][] matrName = new String[n][m];
- matrName – имя объекта (ссылка на объект), который есть двумерным массивом типа String ;
- n – количество строк в массиве matrName ;
- m – количество столбцов в массиве matrName .
Возможен также другой способ объявления и выделения памяти для двумерного массива строк:
String[][] matrName; // объявление ссылки на двумерный массив строк
matrName = new String[n][m];
4. Пример объявления и использования двумерного массива строк
Ниже приведен пример объявления и использования двумерного массива строк
// объявление двумерного массива строк
String[][] matr = new String[2][3];
// заполнение массива значениями
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
matrS[i][j] = "matrS[" + i + "][" + j + "]";
// проверка
String s;
s = matrS[0][0]; // s = "matrS[0][0]"
s = matrS[1][1]; // s = "matrS[1][1]"
5. Как определяется длина массива строк? Свойство length . Пример
Чтобы определить количество строк в массиве используется свойство length .
Для одномерных массивов количество строк n определяется следующим образом:
String[] arrayS = new String[25];
int n;
n = array.length;
Для двумерных массивов количество строк и столбцов определяется следующим образом
// matr - двумерный массив строк
String[][] matrS = new String[2][3];
int n, m;
n = matr.length; // n = 2 - количество строк
m = matr[0].length; // m = 3 - количество столбцов
m = matr[1].length; // m = 3
6. Как осуществляется инициализация одномерного массива? Пример
Инициализация одномерного массива строк точно такая же как инициализация одномерого массива любого другого типа.
// инициализация одномерного массива строк
String[] M = "Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
>;
String s;
s = M[2]; // s = "Tuesday"
s = M[4]; // s = "Thursday"
7. Поиск заданной строки в одномерном массиве строк. Пример
// поиск заданной строки в массиве строк
// объявление массива строк
String M[] = new String[5];
String s = "May"; // строка, которую нужно найти
boolean f_is;
// заполнение массива значениями
M[0] = "January";
M[1] = "February";
M[2] = "May";
M[3] = "October";
M[4] = "December";
// поиск строки
f_is = false;
for (int i=0; ilength; i++)
if (M[i]==s) f_is = true;
break;
>
// вывод результата
if (f_is)
System.out.println("Искомая строка есть в массиве.");
else
System.out.println("Искомой строки нет в массиве.");
8. Сортировка одномерного массива строк по алфавиту методом вставки. Пример
Для сравнения двух строк в лексикографическом порядке в классе String разработан метод compareTo() . Общая форма метода следующая:
int compareTo(вторая_строка)
Фрагмент, который демонстрирует сортировку массива строк методом вставки:
// сортировка массива строк методом вставки
String[] M = "abc",
"bde",
"fgh",
"abcd",
"bcdef",
"cdef",
"fghij",
"aaa"
>;
String s;
// сортировка
for (int i=0; ilength-1; i++)
for (int j=i; j>=0; j--)
if (M[j].compareTo(M[j+1])>0) // обменять M[j] и M[j+1] местами
s = M[j];
M[j] = M[j+1];
M[j+1] = s;
>
// вывод результата
for (int i=0; ilength; i++)
System.out.println(M[i]);
В результате выполнения вышеприведенного кода, на экран будет выведено следующее
aaa
abc
abcd
bcdef
bde
cdef
fgh
fghij
9. Как осуществляется инициализация двумерного массива строк? Пример
Инициализация двумерного массива строк ничем не отличается от инициализации двумерного массива любого примитивного типа. Элементами массива есть обычные строки.
Ниже приведен пример инициализации двумерного массива строк с именем M
// объявление массива M с начальной инициализацией
String M[][] = new < "a1", "a2", "a3" >,
< "b1", "b2", "b3" >,
< "a1", "c2", "a1" >
>;
// проверка
String s;
s = M[0][1]; // s = "a2"
s = M[1][0]; // s = "b1"
10. Пример подсчета количества вхождений заданной строки в двумерном массиве строк
// вычисление количества вхождений заданной строки в двумерном массиве
// объявление массива M с начальной инициализацией
String M[][] = < "abcd", "abc", "bcd" >,
< "acd", "bcd", "abcd" >,
< "abc", "bc", "cde" >
>;
String s = "abc"; // строка, количество вхождений которой нужно вычислить
int k = 0; // количество вхождений, результат
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
if (M[i][j]==s)
k++;
// k = 2
11. Пример замены строки в двумерном массиве строк
- двумерный массив строк с именем matr ;
- строка s1 , которая ищется для замены;
- строка s2 , которая заменяет строку s1 .
Разработать программу, которая заменяет строку s1 в матрице matr новой строкой s2 . Фрагмент кода, который решает данную задачу:
// объявление двумерного массива строк
String[][] matr = new String[2][3];
// заполнение матрицы matr произвольными значениями
matrS[0][0] = "abc";
matrS[0][1] = "cba";
matrS[0][2] = "def";
matrS[1][0] = "abc";
matrS[1][1] = "fff";
matrS[1][2] = "qqq";
// заполнение значениями строк s1 и s2
String s1 = "abc"; // заменяемая строка
String s2 = "mmm"; // заменяющая строка
// цикл вычисления
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
if (matrS[i][j]==s1)
matr[i][j] = s2;
// вывод результата
for (int i=0; ilength; i++) for (int j=0; jlength; j++)
System.out.print(matrS[i][j] + " ");
System.out.println();
>
В результате выполнения вышеприведенного кода, на экран будет выведен следующий результат:
Связанные темы
Инициализировать массив строк в Java
В этом посте мы покажем, как объявить и инициализировать массив строк в Java.
1. Мы можем объявить и инициализировать массив строк в Java, используя новый оператор с инициализатором массива. Например, следующий фрагмент кода создает массив строк размером 5:
2. Ниже приведен альтернативный синтаксис для объявления массива, аналогичный массивам в стиле C/C++, где [] появляется после имени переменной.
3. Мы также можем разделить код на объявление и присваивание, как показано ниже.
4. Мы также можем объявить и инициализировать массив строк в одной строке без использования оператора new, как показано ниже:
5. Если мы не предоставим никакого инициализатора, каждому элементу массива будет присвоено значение по умолчанию null. Например,
6. Мы можем использовать Arrays.fill() метод, чтобы присвоить указанное значение каждому элементу или элементам между указанным диапазоном указанного массива. Для иллюстрации рассмотрим следующий код:
7. Мы также можем использовать Arrays.setAll() метод, представленный в Java 8, который можно использовать для установки всех элементов указанного массива с помощью указанной функции генератора. Например,
8. Мы также можем создать пустой массив строк размера 0, как показано ниже:
9. Мы также можем создать массив строк, используя отражение. Следующий код создаст новый массив с указанным строковым типом длины 5 со значением по умолчанию null.
10. Мы знаем, что длина массива фиксирована, и мы можем изменить ее после создания массива. Если нам нужна реализация массива с изменяемым размером, мы должны пойти на ArrayList автоматически увеличивается или уменьшается.
Вот и все об инициализации массива Java String.
Средний рейтинг 4.79 /5. Подсчет голосов: 24
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Как заполнить массив в java с клавиатуры
Для ввода массива с клавиатуры в Java можно использовать класс Scanner из стандартной библиотеки Java . Например, чтобы ввести массив целых чисел с клавиатуры, можно использовать следующий код:
import java.util.Scanner; public class Main public static void main(String[] args) Scanner scanner = new Scanner(System.in); System.out.print("Введите длину массива: "); int length = scanner.nextInt(); int[] array = new int[length]; System.out.println("Введите элементы массива:"); for (int i = 0; i length; i++) array[i] = scanner.nextInt(); > System.out.println("Массив: " + Arrays.toString(array)); > >
- В этом примере мы создали объект класса Scanner , который позволяет считывать данные из стандартного потока ввода (клавиатуры).
- Затем мы запросили у пользователя длину массива и создали массив нужного размера.
- После этого мы в цикле заполняем массив элементами, вводимыми с клавиатуры, с помощью метода nextInt() объекта Scanner.
- Наконец, мы выводим полученный массив на экран с помощью метода toString() класса Arrays
Для ввода массива других типов данных нужно использовать соответствующие методы класса Scanner , например, nextDouble() для ввода массива вещественных чисел.