我正在编写一个程序,需要收集一个数字块并用它做一些事情。但由于某种原因,扫描仪无法读取所有输入的数字。有什么问题?
int i = 0;
while (i >=0){
System.out.println(sc.nextInt());
i++;
}
输入:
3
100
3
5 75 25
200
7
150 24 79 50 88 345 3
8
8
2 1 9 4 4 56 90 3
输出:
3
100
3
5
75
25
200
7
150
24
79
50
88
345
3
8
8
缺少最后8位数字。这是为什么?
答案 0 :(得分:1)
从System.in扫描要求用户在扫描仪返回下一个扫描的int之前按Enter键。
答案 1 :(得分:0)
对于仅从用户获取整数,扫描程序将仅在工作,直到用户在此代码中输入字符或除整数之外的任何内容。
try {
ArrayList<Integer> ar=new ArrayList<Integer>();
Scanner s = new Scanner(System.in);
System.out.println("ENTER ANY CHARACTER AND PRESS ENTER TO EXIT!!");
while(s.hasNextInt())
{
ar.add(s.nextInt());
}
for(int i:ar)
{
System.out.println(i);
}
} catch (Exception e) {
e.printStackTrace();
}