私は、ファイルからグレードを読み込むプロジェクトに取り組んでいますが、ファイルには学生の名前とそのクラスも含まれています.3つのグレードと4つのグレードもあります。私はプログラムを実行しようとすると0エラーで分割を得ることに苦しんで、多くのグーグルグーグルの後にそれを理解することができません、Javaで初心者。私はファイルを開いても問題ありませんが、最初の行の平均を読み取って他のすべての行に続き、printlnの値を返す方法には苦労しています。ファイルから平均等級を計算する
ファイル(3つのグレード付き)内容:
//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();
}
}
これらの問題を解決する最良の方法は、デバッガを使用して各行をステップ実行することです。それは本当に使いやすいです。 –
これを行う最も簡単な方法は、 'whole'行を読んでから' split'することです - 次に3つの 'int'値を加え、' 3'で割ります –