我正在嘗試編寫從數組中讀取一行字符的代碼,將這些字符分配給一個整數,然後對該行的所有整數進行平均,然後對數組中的每一行執行此操作。以下是我迄今爲止:從數組中讀取並計算平均值
Scanner in = new Scanner(new File("Grades.txt"));
while(in.hasNextLine()) {
int gp = 0;
double gpa = 0;
String line = in.nextLine();
if(line.length() == 0) {
continue;
}
line = line.substring(line.length()-15, line.length());
String[] letters = line.split(" ");
for (int i = 0; i < letters.length; i++) {
if (letters[i].equals("H")) {
gp += 7;
}
else if (letters[i].equals("D")) {
gp += 6;
}
else if (letters[i].equals("C")) {
gp += 5;
}
else if (letters[i].equals("P")) {
gp += 4;
}
else if (letters[i].equals("F")) {
gp += 0;
}
}
gpa = gp/letters.length;
System.out.println(gpa);
}
這裏是我一起工作的數組:
[, D, D, C, P, H, H, C]
[, H, H, H, D, D, H, H]
[, C, F, C, D, C, C, C]
[, F, F, F, P, C, C, C]
[, F, C, F, C, D, P, D]
[, D, D, F, D, D, F, D]
[, P, F, P, F, P, F, P]
這裏是代碼的電流輸出:
5.0
6.0
3.0
2.0
3.0
4.0
2.0
內容的文本文件:
45721 Chris Jones D D C P H H C D
87946 Jack Aaron H H H D D H H H
43285 Ben Adams C F C D C C C P
24679 Chuck Doherty F F F P C C C F
57652 Dean Betts F C F C D P D H
67842 Britney Dowling D D F D D F D D
22548 Kennedy Blake P F P F P F P P
我在正確的道路上嗎?會有更簡單的方法嗎?任何幫助將不勝感激。
最佳的方式告訴如果你這樣做是正確的是也是最簡單的:運行您的代碼並檢查答案! – 2014-10-10 05:11:10
@ musical_coder @ musical_coder我的錯誤,我已經運行代碼,只是打印輸出,但它只顯示每行的第一個字母的值 – AJJ 2014-10-10 05:14:02