Ввести массив в строку

`public class Test {
 public static void main(String[] args) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
    int n = Integer.parseInt(tokenizer.nextToken());
    int[] arr = new int[n];
    for (int i = 0; i < arr.length; i++) {
        String s = reader.readLine();
        array[i] = Integer.parseInt(s);
   

Подскажите пожалуйста, как могу поправить код. Мне нужно ввести в консоли две строки 1строка) 4 //размер массива 2строка) 1 2 3 4 //заполнить массив Но у меня получается ввести только все в столбик 4 1 2 3 4 Как мне уложиться в 2 строки.Спасибо


Ответы (2 шт):

Автор решения: стасевич
   public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// создаём массив из введённой строки, разделённой(split) по пробелу (" ")
        String[] arr = br.readLine().split(" ");

// размер массива
        System.out.println(arr.length);

// выводим элементы        
        for (String s : arr) {
            System.out.print(s +" ");
        }
    }
→ Ссылка
Автор решения: Adm123
public class Main {

    static int[] array;

    public static void main(String[] args) throws IOException, IndexOutOfBoundsException {

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int size = Integer.parseInt(reader.readLine());
        String[] strValues = reader.readLine().split("\\s+");
        if (strValues.length != size) {
            throw new IndexOutOfBoundsException();
        }
        array = new int[size];
        for (int i = 0; i < size; i++) {
            array[i] = Integer.parseInt(strValues[i]);
        }
        System.out.println(Arrays.toString(array));
    }

}
→ Ссылка