-7
主類:不返回正確的值
public class Student
{
private int numberOfQuizzes;
private double newQuizScore;
private double averageScore;
private double totalScore;
private double average;
private double gpa;
private double finalGpa;
private double gpa1;
private double gpa2;
private String className;
private double gpa3;
private boolean addQuiz;
private String studentName;
public Student(String studentName)
{
this.studentName = studentName;
}
public void addQuiz(double newQuizScore)
{
this.newQuizScore = newQuizScore;
if(newQuizScore >= 0)
{
totalScore = totalScore + newQuizScore;
numberOfQuizzes++;
}
}
public void setAverageScore()
{
averageScore = totalScore/numberOfQuizzes;
}
public void resetScore()
{
averageScore = 0;
totalScore = 0;
numberOfQuizzes = 0;
newQuizScore = 0;
}
public void setGpaValue(double average, String className)
{
if(className.equalsIgnoreCase("Biology"))
{
if(average >= 93.0)
{
gpa1 = 4.0;
} else if(average < 93.0 && average >= 90.0)
{
gpa1 = 3.66;
} else if(average < 90.0 && average >= 87.0)
{
gpa1 = 3.33;
} else if(average < 87.0 && average >= 83)
{
gpa1 = 3.00;
} else if(average < 84.0 && average >= 80.0)
{
gpa1 = 2.66;
} else if(average < 80 && average >= 77)
{
gpa1 = 2.33;
} else if(average < 77 && average >= 73)
{
gpa1 = 2.00;
} else if(average < 73 && average >= 70)
{
gpa1 = 1.66;
} else if(average < 70 && average >= 67)
{
gpa1 = 1.33;
} else if(average < 67 && average >= 63)
{
gpa1 = 1.00;
} else if(average < 63 && average >= 60.0)
{
gpa1 = .66;
} else if(average < 60 && average >= 0)
{
gpa1 = .00;
}
}
if(className.equalsIgnoreCase("Calculus"))
{
if(average >= 93.0)
{
gpa2 = 4.0;
} else if(average < 93.0 && average >= 90.0)
{
gpa2 = 3.66;
} else if(average < 90.0 && average >= 87.0)
{
gpa2 = 3.33;
} else if(average < 87.0 && average >= 83)
{
gpa2 = 3.00;
} else if(average < 84.0 && average >= 80.0)
{
gpa2 = 2.66;
} else if(average < 80 && average >= 77)
{
gpa2 = 2.33;
} else if(average < 77 && average >= 73)
{
gpa2 = 2.00;
} else if(average < 73 && average >= 70)
{
gpa2 = 1.66;
} else if(average < 70 && average >= 67)
{
gpa2 = 1.33;
} else if(average < 67 && average >= 63)
{
gpa2 = 1.00;
} else if(average < 63 && average >= 60.0)
{
gpa2 = .66;
} else if(average < 60 && average >= 0)
{
gpa2 = .00;
}
}
if(className.equalsIgnoreCase("CompSci"))
{
if(average >= 93.0)
{
gpa3 = 4.0;
} else if(average < 93.0 && average >= 90.0)
{
gpa3 = 3.66;
} else if(average < 90.0 && average >= 87.0)
{
gpa3 = 3.33;
} else if(average < 87.0 && average >= 83)
{
gpa3 = 3.00;
} else if(average < 84.0 && average >= 80.0)
{
gpa3 = 2.66;
} else if(average < 80 && average >= 77)
{
gpa3 = 2.33;
} else if(average < 77 && average >= 73)
{
gpa3 = 2.00;
} else if(average < 73 && average >= 70)
{
gpa3 = 1.66;
} else if(average < 70 && average >= 67)
{
gpa3 = 1.33;
} else if(average < 67 && average >= 63)
{
gpa3 = 1.00;
} else if(average < 63 && average >= 60.0)
{
gpa3 = .66;
} else if(average < 60 && average >= 0)
{
gpa3 = .00;
}
}
}
public void setTotalGpa()
{
finalGpa = (gpa1 * gpa2 * gpa3)/3;
}
public double getAverageScore()
{
return averageScore;
}
public double getTotalGpa()
{
return finalGpa;
}
public double totalScore()
{
return totalScore;
}
public double getGpaValue()
{
return average;
}
public String toString()
{
String toString = "\nStudent Name: " + studentName +
"\nStudent Gpa: " + finalGpa;
return toString;
}
}
Tester類: http://pastebin.com/meh3Vqvq
我有一個問題GPA總是返回0.0。其他的一切似乎都運行良好,除了GPA無法工作。
pastebin不是一個好主意。你能粘貼相關的代碼片段嗎?如果它們太大,你可以做一個'sscce'嗎? – vikingsteve 2014-10-01 12:53:01
會很好,如果你可以在這裏顯示相關的部分,而不是讓我們去其他地方 – Teetrinker 2014-10-01 12:53:27
我一直試圖但它不會正確地進入... – 2014-10-01 12:54:51