gpt4 book ai didi

Java读取文本文件中的每隔一行

转载 作者:行者123 更新时间:2023-12-02 01:15:11 25 4
gpt4 key购买 nike

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

注意:对于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

最佳答案

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

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

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

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

此外,您的平均值当前是int(我希望是floatdouble)。

double average = sum/(double)lineNumber;

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

关于Java读取文本文件中的每隔一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com