java计算文件的平均分数
我正在做一个项目,从一个文件中读取成绩,但该文件包含学生姓名和他们所在的班级,一些有3个成绩,一些有4个成绩。当我试着运行这个程序时,我正在努力解决一个除法0的错误,但在谷歌搜索了很多次后,我还是个java初学者。我可以打开文件,但我正在努力让它读取第一行的平均值,然后继续读取所有其他行,以及返回println中的值
档案内容(分三级):
//Happy CS145 81 85 91
//Sneezy CS145 67 75 75
//Doc CS145 92 97 89
//Dopey CS111
//Grumpy CS145 75 65 66
//Bashful CS145 81 82 81
//Sleepy CS145 71 74 71
import java.io.FileReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class MainClass {
public static void main(String args[]){
int numTestScores = 0;
int sum = 0;
int average = 0;
Scanner input = null;
try {
input = new Scanner(new File("PA2data2.txt"));
} catch (FileNotFoundException ex) {
System.out.println("Cannot open file - " + ex);
}
while (input.hasNext()) {
while (input.hasNextInt()){
sum += input.nextInt();
numTestScores++;
}
average = sum / numTestScores;
System.out.println(average);
}
System.out.println("Average is " + sum / numTestScores);
input.close();
}
}
# 1 楼答案
应该使用nextLine()而不是nextInt()
另外,如果你想用double而不是int来表示平均值,否则平均值为0
# 2 楼答案
只需将除法操作保存在
if
语句中: