如何运行循环以从扫描仪获得未确定数量的输入?

时间:2012-11-15 05:27:35

标签: java command-line input java.util.scanner

我想将一行整数作为命令行输入。但我不知道用户将输入多少整数。那么如何在正确的时间停止我的扫描仪对象。是否有类似hasNext()的方法可以在while循环中使用? 例如:我的输入可能是:

2 3 4 5
or 
9 1 3 4 5 6

2 个答案:

答案 0 :(得分:0)

您可以轻松使用String.split()来获取输入的所有输入的数组。例如:

String[] input = in.nextLine().split();

然后您可以根据需要访问每个元素。希望有所帮助!

答案 1 :(得分:0)

您可以使用Scanner,如下所示:

Scanner scan=new Scanner(System.in);
String input=scan.readLine();
String[] nums=input.split();
int[] numbers=nums.length;
for(int i=0;i<nums.length;i++){
    numbers[i]=Integer.parseInt(nums[i]);
}

此代码将整个String作为输入,然后将它们拆分并转换为Integer