Перевод String в массив чисел int
Есть ли функция, переводящая строку с численными значениями без запятой, разделенными пробелами, в массив int ?
Отслеживать
34.4k 15 15 золотых знаков 65 65 серебряных знаков 94 94 бронзовых знака
задан 7 авг 2015 в 2:28
Екатерина Фомина Екатерина Фомина
63 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Примерно как то так можно — рассплитить в массив строк по разделителю и преобразовать из строк в целочисленное:
public class Main < public static void main(String[] args)< String str = "11 34 3 45 23 5 67"; String strArr[] = str.split(" "); int numArr[] = new int[strArr.length]; for (int i = 0; i < strArr.length; i++) < numArr[i] = Integer.parseInt(strArr[i]); // System.out.println(numArr[i]); >> >
В Java 8 можно сделать в одну строку:
String str = "11 34 3 45 23 5 67"; int[] numArr = Arrays.stream(str.split(" ")).mapToInt(Integer::parseInt).toArray();
Отслеживать
ответ дан 7 авг 2015 в 3:54
36.8k 6 6 золотых знаков 47 47 серебряных знаков 124 124 бронзовых знака
- java
- массивы
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Преобразование массива строк в символы в Java
В этом посте мы обсудим, как преобразовать строку в Character массив в Java.
1. Наивное решение
Наивное решение состоит в том, чтобы использовать обычный цикл for, чтобы прочитать все символы в строке и присвоить их Character массив один за другим.
import java . util . Arrays ;
class Main
// Простой метод преобразования строки в массив символов `Character`
public static Character [ ] toCharacterArray ( String str )
if ( str == null ) <
return null ;
Character [ ] chars = new Character [ str . length ( ) ] ;
for ( int i = 0 ; i < str . length ( ) ; i ++ ) <
chars [ i ] = str . charAt ( i ) ;
return chars ;
public static void main ( String [ ] args )
String str = "Java" ;
Character [ ] chars = toCharacterArray ( str ) ;
System . out . println ( Arrays . toString ( chars ) ) ; // [J, a, v, a]
2. Использование Java 8
Java 8 не предоставляет никакого потока символов, но мы можем получить IntStream (поток целых чисел) символов с помощью String.chars() метод при работе со строками.
После получения IntStream символов, нам нужно упаковать его в Stream . Мы можем сделать это, приведя char, используя лямбда ch -> (char) ch внутри mapToObj() , который затем будет автоматически упакован в Character .
Наконец, toArray(T[]) метод может быть использован для сброса Stream во вновь выделенный Character массив.
Массив строк в 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
В этом посте будет обсуждаться, как преобразовать строку в массив символов в Java.
В Java существует несколько способов преобразования строки в массив символов, который представляет собой процесс разделения последовательности символов в строке на отдельные символы и сохранения их в массиве. Некоторые из возможных методов:
1. Использование String.toCharArray() метод
Простой и наиболее распространенный способ преобразования строки в массив символов в Java — использование метода String.toCharArray() метод, который возвращает новый массив символов, содержащий те же символы, что и строка. Например:
