扫描仪细节

时间:2014-10-23 15:03:00

标签: java java.util.scanner

我正在制作一个程序,从外部文件中获取一些成绩,找到它们的总和和平均值,并显示出来。此外,程序在达到零时停止。我的问题是,当我测试下一个数字是否不为零时,它会跳过该数字,因此在计算中不会使用该数字。我目前的做法是:

while ((current = inFile.nextInt()) != 0) {
            System.out.println(current);
            sum += current;
            numberOfScores++;
        }

在测试的同时将下一个int设置为变量。虽然这种方式有效,但肯定必须有一种更简单的方法来完成这项工作。有吗?

提前感谢您的帮助 --Cheers

1 个答案:

答案 0 :(得分:1)

我对您的提示感到有些困惑 - 您是希望简化您的方法,还是能够继续超越零点?

无论哪种方式,你的方法都有点风险。这引发程序崩溃。我推荐这些行中的某些内容,确保有另一个int。

while(inFile.hasNextInt()){
    int tmp = inFile.nextInt();
    System.out.println(tmp);
    sum += tmp;
    numberOfScores++;
}

如果需要,可以添加一些代码以跳过0。