Java读取文本文件中的其他每一行

问题描述 投票:0回答:1

[我编写了一些代码,使扫描仪从计算机上的文本文件中读取,但是在运行代码时,扫描仪仅读取文本文件中的所有其他数字。有什么想法吗?

注意:对于grades.txt,这是文件

“ 3 8 1 13 18 15 7 17 1 14”

    import java.util.*;
    import java.io.*;

    public class GradeAverage
    {
        public static void main(String[] args) throws IOException
        {
                Scanner scanner = new Scanner(new File("C:\\Users\\Media - Graphics\\Documents\\SCHOOL\\NCVPS\\GradeAverage\\grades.txt"));
                int i = 0;
                int sum = 0;
                int lineNumber = 0;
                int average = 0;
                while(scanner.hasNextInt()){
                System.out.println(scanner.nextInt());
                sum = sum+scanner.nextInt();
                lineNumber++;
                    }
                    System.out.println("The sum of the numbers: "+sum);
                    System.out.println("The number of scores: "+lineNumber);
                    average = sum/lineNumber;
                    System.out.println("The average of the numbers: "+average);
        }        
    }

这是输出的内容:

3

1

18

7

1

数字的总和:67

分数:5

数字的平均值:13

java bluej
1个回答
2
投票

每次在循环中调用nextInt()时,都会消耗一个int。因此,当您这样做时

System.out.println(scanner.nextInt());
sum = sum+scanner.nextInt();

您消耗了两个int。您想要类似的东西>

int t = scanner.nextInt();
System.out.println(t);
sum += t;

也您的average当前是int(我希望是floatdouble)。

double average = sum/(double)lineNumber;

不要忘记删除int average = 0;(或相应地修改它和average)。

© www.soinside.com 2019 - 2024. All rights reserved.