Как преобразовать входные данные (84 23 75 24) в массив?

#java

#java

Вопрос:

У меня не будет никакого кода для размещения здесь, поскольку это его начало. Но я бы попросил ввести числа, которые будут введены следующим образом «75 69 35 95 90 45 66» Что мне делать с входными данными, чтобы превратить их в массив, я знаю, как отсканировать их и превратить в строку, но это все.

Комментарии:

1. 1) Преобразовать строку в строку, 2) разобрать строку на числа и 3) сохранить числа в массив Java. Для шагов 2) и 3) рассмотрим Java String.split()

2. Массив чего? int[] , Integer[] , List<Integer> String[] , List<String> -то еще? Что-то еще?

Ответ №1:

Если входные данные представляют собой правильное целое число.

 Scanner in = new Scanner(System.in);
ArrayList<Integer> arrayList = new ArrayList<Integer>();
while(in.hasNextInt()) {
  arrayList.add(in.nextInt());
}
System.out.println(arrayList);
  

Если входные данные представляют собой строку

 String str[] = "75 69 35 95 90 45 66".split(" ");
        
int len = str.length;
int numbers[] = new int[len];
int index = 0;
while(len > 0) {
  try {
    numbers[index] = Integer.parseInt(str[index]);
  } catch (NumberFormatException e) {
    // something to do
  }
  System.out.println(numbers[index]);
  index  ;
  len--;
}
  

Ответ №2:

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

 List<Integer> l = new ArrayList<Integer>();
String[] ss = "75 69 35 95 90 45 66".split(" ");
for (String s: ss) {
  l.add(Integer.valueOf(s));
}
System.out.println(l);