我正在写一个简单的方法,将用户的成绩作为输入并计算成绩平均值。这里是我的代码:为什么此代码无法按预期工作?
public static double calculateGPA(){
Scanner in = new Scanner(System.in);
double totalGradePoints = 0; // total grade points
int numClasses = 0; // total classes completed
boolean doneInput = false; // returns true when use is done inputting grades
System.out.println("Enter all your grades (A,B,C,D,F) and enter 'done' if you are done entering your grades.");
while (!doneInput) {
String grade = in.next();
if (grade == "A") {
totalGradePoints += 4;
numClasses++;
} else if (grade == "B") {
totalGradePoints += 3;
numClasses++;
} else if(grade == "C") {
totalGradePoints += 2;
numClasses++;
} else if(grade == "D") {
totalGradePoints += 1;
numClasses++;
} else if(grade == "F") {
numClasses++;
} else {
doneInput = true;
} //end if - else-if - else statement
}//end while loop
double unwtGPA = (totalGradePoints/numClasses);
return unwtGPA;
}
当我测试的方法,我只能输入一个档次,没有增加的变量,可有人告诉我,什么是错的代码?
或甚至更好的是交换机。 –
运营商可能会超载吗? –
@huseyintugrulbuyukisik不是在Java中,它不是。 –