0
我正在構建一個從文本文件中計算學生成績的類。所使用的方法和領域必須與其寫作完全相同,因爲這是一個學校項目,如果沒有完全按照自己的意願書寫,我的老師將得到分數。無論如何,根據她的標準,她希望我創建一種方法來計算數組的平均值,然後用另一種方法檢索平均值(似乎有點多餘,但就像我說的,這正是她想要的)。我構建了這個方法,並且在我的getAverage(int studentNum)
方法中引用它,但是當我編譯它時,它給了我一個「.class missing」錯誤。我不確定爲什麼要誠實。日食提供的解決方案並不是我想要做的,因爲他們建議我改變方法的參數,或創建一個全新的方法,這兩者都不是我的老師想要的。這裏就是我的工作:如何從我的Java類中的另一個方法調用我的方法?
public class GradeBook
{
private final int NUM_STUDENT = 5;
private final int NUM_TESTS = 4;
private String[] names = new String[5];
private char[] grades = new char[5];
private double[] scores1 = new double[4];
private double[] scores2 = new double[4];
private double[] scores3 = new double[4];
private double[] scores4 = new double[4];
private double[] scores5 = new double[4];
public void setName(int studentNum, String name)
{
names[studentNum - 1] = name;
}
public void setScores(int studentNum, double[] scores)
{
if (studentNum == 1)
{
copyArray(scores1, scores);
}
else if (studentNum == 2)
{
copyArray(scores2, scores);
}
else if (studentNum == 3)
{
copyArray(scores3, scores);
}
else if (studentNum == 4)
{
copyArray(scores4, scores);
}
else
{
copyArray(scores5, scores);
}
}
public String getName(int studentNum)
{
return names[studentNum - 1];
}
public double getAverage(int studentNum)
{
double average;
if (studentNum == 1)
{
average = calcAverage(scores1[]);
return average;
}
else if (studentNum == 2)
{
return calcAverage(scores2[]);
}
else if (studentNum == 3)
{
return calcAverage(scores3[]);
}
else if (studentNum == 4)
{
return calcAverage(scores4[]);
}
else
{
return calcAverage(scores5[]);
}
}
public char getLetterGrade(int studentNum)
{
return grades[studentNum - 1];
}
public void copyArray(double[] to, double[] from)
{
for (int i = 0 ; i < from.length ; i++)
{
from[i] = to[i];
}
}
public double calcAverage(double[] scores)
{
double sum = 0;
double average;
for (int i = 0 ; i < scores.length ; i++)
{
sum = sum + scores[i];
}
average = sum/scores.length;
return average;
}
public void assignGrade(int studentNum)
{
grades[studentNum - 1] = determineGrade(getAverage(studentNum));
}
public char determineGrade(double average)
{
if (average <= 100 && average >= 90)
{
return 'A';
}
else if (average <= 89 && average >= 80)
{
return 'B';
}
else if (average <= 79 && average >= 70)
{
return 'C';
}
else if (average <= 69 && average >= 60)
{
return 'D';
}
else
{
return 'F';
}
}
}
我敢肯定這件事情非常容易,我失蹤了,我只是沒有看到它。你們有什麼感想?
而且正如我張貼此,我知道像一個白癡,我把旁邊的[]到數組名稱。猜猜那就解決了。 –
相信我,這就是編程的工作原理。你永遠盯着某個東西,然後其他人走過來,在幾秒鐘內看到問題,或者你走開,當你回到問題時,你立即看到了什麼是錯的。 – nicomp
是的。在你發佈之後,你永遠只會看到錯誤**,從來沒有。 – rossum