Java 扫描仪详细信息

Java 扫描仪详细信息,java,java.util.scanner,Java,Java.util.scanner,我正在制作一个程序,从一个外部文件中获取一些分数,找到它们的总和和平均值,并显示出来。此外,程序在达到零时停止。我的问题是,当我测试下一个数字是否不是零时,它跳过该数字,因此在计算中不使用该数字。我目前的做法是: while ((current = inFile.nextInt()) != 0) { System.out.println(current); sum += current; numberOfScores++;

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

while ((current = inFile.nextInt()) != 0) {
            System.out.println(current);
            sum += current;
            numberOfScores++;
        }
在测试变量的同时将下一个int设置为变量。虽然这种方法可行,但肯定有一种更简单的方法可以做到这一点。有吗

提前谢谢你的帮助
--干杯

我有点被你的提示搞糊涂了-你是想简化你的方法,还是想继续通过零点

不管怎样,你的方法有点冒险。这就要求程序崩溃。我推荐这些行中的一些东西,确保有另一个int

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

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

如何创建扫描仪对象?
而((current=infle.nextInt())!=0){
出于理智考虑,我建议将赋值限制在布尔条件区域之外。因此,将infle.nextInt()设置为一个变量,测试它,然后显示它?