我正在编写一个程序,需要收集一个数字块并使用它做一些事情。但由于某种原因,扫描仪无法读取所有输入的数字。怎么了?
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位数字。为什么会这样?
从系统扫描。in要求用户在扫描仪返回下一个扫描的int之前按Enter键。
对于仅从用户获取整数,扫描器将只工作,直到用户在此代码中输入字符或除整数以外的任何内容。
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();
}