问题与扫描器Java



我正在编写一个程序,需要收集一个数字块并使用它做一些事情。但由于某种原因,扫描仪无法读取所有输入的数字。怎么了?

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();
        }

最新更新