Перейти к содержимому

Как из строки сделать массив java

  • автор:

Массив строк в Java

Массивы можно составлять не только из чисел, как уже упоминалось, но и из строк. В этом уроке мы рассмотрим массивы строк в Java на примерах, а также три упражнения с ответами.

массив строк java

Строки текста можно помещать в массив Java. Это делается так же, как и для переменных int:

String[] aryString = new String[5]; aryString[0] = "Это"; aryString[1] = "массив"; aryString[2] = "строк"; aryString[3] = "в"; aryString[4] = "Java"; 

Код выше устанавливает массив строк с 5 позициями. Затем текст присваивается каждой позиции в массиве. Этот цикл, который обходит все позиции в массиве, распечатывая все, что есть в каждой позиции:

int i; for (i = 0; i  aryString.length; i++)  System.out.println(aryString[i]); > 

Цикл закончится, когда значение в переменной с именем i будет меньше длины нашего массива строк с именем aryString. Когда вышеуказанная программа запустится, окно вывода будет выглядеть так: Вы можете выполнить сортировку массивов строк в Java также, как и массивов чисел. Но сортировка происходит в алфавитном порядке по возрастанию, что означает, что «аа» будет перед «аб». Java использует символы Юникода для сравнения одной буквы в вашей строке с другой. Это означает, что заглавные буквы будут стоять перед строчными. Попробуйте следующий код:

package arrays; import java.util.Arrays; public class ArraysTest  public static void main(String[] args)  String[] aryString = new String[5]; aryString[0] = "Это"; aryString[1] = "массив"; aryString[2] = "строк"; aryString[3] = "в"; aryString[4] = "Java"; Arrays.sort(aryString); int i; for (i = 0; i  aryString.length; i++)  System.out.println(aryString[i]); > > > 

При запуске программы в окне «Вывод» отобразится следующее: Несмотря на то, что мы отсортировали наш массив строк, слова «Java» и «Это» идут первыми. Во-первых, английский алфавит Java-программа всегда ставит вначале, также отсортировывая по алфавитному порядку. Во-вторых, что касается слова «Это», по алфавитному порядку, оно должно было идти последним. И так и было бы, если бы все буквы были строчные. Измените в своем программном коде заглавную букву «Э» на строчную «э». Теперь снова запустите свою программу. Теперь в окне вывода отобразится следующее: Как видите, слово «это» теперь внизу. Мы рассмотрим строки более подробно в следующем уроке, поэтому не беспокойтесь, если что-то непонятно. Вместо этого попробуйте следующие упражнения.

Упражнение G

Установите массив для хранения следующих значений в следующем порядке: 23, 6, 47, 35, 2, 14. Напишите программу, чтобы получить среднее арифметическое для всех 6 чисел. (Вы можете использовать целые числа, то, что округлит ваш ответ.) Ответ на упражнение G

Упражнение H

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

Упражнение I

Используя тот же массив, что и выше, пусть ваша программа распечатывает только нечетные числа. Ответ на упражнение I В следующем уроке вы узнаете о многомерных массивах в Java.

Обработка строк через преобразование в массив — Java: Массивы

Решить ее можно многими способами. Чем больше называет человек — тем лучше. Разберем решение через массив. Для этого воспользуемся методом строки split() , который разделяет строку на массив используя указанный разделитель:

class MyStringUtils  public static String capitalizeWords(String sentence)  // split разделяет строку по пробелу var words = sentence.split(" "); // . > > 

Следующим шагом нужно обойти массив получившихся слов и преобразовать первую букву каждого слова к верхнему регистру. Сделаем это с помощью метода StringUtils.capitalize() . Затем, соединим получившиеся слова в строку, которую и вернем наружу.

import org.apache.commons.lang3.StringUtils; class MyStringUtils  public static String capitalizeWords(String sentence)  // split разделяет строку по пробелу var words = sentence.split(" "); for (var i = 0; i  words.length; i++)  // Приводим первую букву слова к верхнему регистру // И заменяем слово в массиве words[i] = StringUtils.capitalize(words[i]); > // Соединяет массив используя разделитель return String.join(" ", words); > > 

Так как строки неизменяемые, то capitalize() просто возвращает новое значение, но не меняет старое. Поэтому нужно не забыть выполнить замену старого слова на новое: words[i] = .

В конце появляется массив из которого нужно снова собрать строку. Сделать это проще всего с помощью метода String.join() , который соединяет элементы массива в строку используя указанный соединитель. В нашем случае пробел.

У этой задачи есть и другое решение, с помощью класса StringJoiner . Этот класс работает как StringBuilder , но дополнительно позволяет указывать соединитель:

import org.apache.commons.lang3.StringUtils; class MyStringUtils  public static String capitalizeWords(String sentence)  // split разделяет строку по пробелу var words = sentence.split(" "); // Указываем соединитель var result = new StringJoiner(" "); for (var word : words)  // Приводим первую букву слова к верхнему регистру // Добавляем полученное слово в StringJoiner при помощи метода add() result.add(StringUtils.capitalize(word)); > // Соединяет части строки используя соединитель return result.toString(); 

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Как преобразовать строку в массив java

Чтобы преобразовать строку в массив строк в Java, нужно использовать метод строки split() , передав туда регулярное выражение в качестве разделителя:

String text = "one two three"; String[] words = text.split(" "); System.out.println(Arrays.toString(words)); // => ["one", "two", "three"] 

toCharArray() в Java — Сделать из строки массив чаров

Метод toCharArray() создает из строки массив чаров (от англ. — char).

Синтаксис метода:

public char [ ] toCharArray ( )

Вызов:

char [ ] result = str . toCharArray ( ) ;

Пример:

public class Test < public static void main ( String args [ ] ) < String str = "ABC" ; char [ ] result = str . toCharArray ( ) ; System . out . println ( "Char array:" ) ; for ( int i = 0 ; i < result . length ; i ++ ) System . out . println ( "Element [" + i + "]: " + result [ i ] ) ;

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка «ABC». С помощью метода toCharArray() мы перевели эту строку в массив чаров .

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

Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

  • ← toUpperCase() в Java — сделать буквы заглавными
  • equals() в Java — проверить равны ли две строки →

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *