Инициализация массива одной строкой Java

185
06 ноября 2021, 03:30

У меня есть массив arr. Я хочу сделать так, чтобы если я вводил с клавиатуры 321234, то массив был таким arr = [3, 2, 1, 2, 3, 4].

Answer 1
String str = new Scanner(System.in).nextLine();
int[] arr = Arrays.stream(str.split("")).mapToInt(Integer::parseInt).toArray();
Answer 2
Scanner scan = new Scanner(System.in); //Ввод
String s = scan.nextLine();
List<Integer> array = new ArrayList<>();//используем список т.к размер массива не знаем 
for(int i = 0; i < s.length(); i++){
    array.add(Integer.valueOf(String.valueOf(s.charAt(i))));
}
Answer 3

Например, так, без использования коллекций:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String line = scanner.nextLine();
    int[] array = new int[line.length()];
    for (int i = 0; i < line.length(); i++) {
        array[i] = Character.getNumericValue(line.charAt(i));
    }
    System.out.println(Arrays.toString(array)); 
}

При вводе "321234" в массив array будут записаны все числа из строки.

READ ALSO
Обновить интерфейс программы на JavaFX через XML

Обновить интерфейс программы на JavaFX через XML

ВводнаяЯ студент (читать как "беспросветный дурачок") и передо мной встала задача - написать программу, которая бы читала и писала файлы XML

200
Почему в объекте переменные родителя

Почему в объекте переменные родителя

Был на тестировании по Java и столкнулся со следующей задачей

169
Всплывающая подсказка для JSpinner

Всплывающая подсказка для JSpinner

Я добавляю всплывающую подсказку для счетчика и хочу установить фиксированное местоположение для нееДелаю это так:

113
java: Как реализовать прием и передачу udp пакетов в разных потоках для параллельной работы?

java: Как реализовать прием и передачу udp пакетов в разных потоках для параллельной работы?

пишу приложение для android, при реализации, приведенной ниже, работает прием пакетов, но не работает отправкаесли убрать запуск потока для приема...

160