Java在一行中读入n个数字,n未知,以回车结束

输入一个整数序列,整数之间用空格隔开,输入完最后一个整数,回车。(事先并不知道要输入多少个数字)
示例输入:1 2 3 4 5 6
示例输出:1 2 3 4 5 6

方法一:可以用String读取一行数据,然后用空格分隔字符串提取。
方法二:使用两个scanner读取,代码如下:

img


import java.util.ArrayList;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
         ArrayList<Integer> a = new ArrayList<Integer>(); 
            Scanner scan = new Scanner(System.in);
            String l = scan.nextLine();
            Scanner scan_l = new Scanner(l);
            while(scan_l.hasNextLine()) {
                a.add(scan_l.nextInt());
            }
            
            for(int i = 0;i<a.size();i++){
                if(i<a.size()-1)
                    System.out.print(a.get(i) + " ");
                else
                    System.out.print(a.get(i) );
            }
    
    }

}