嘿,我最近開始使用Java,並且我正在寫一個程序時遇到問題。我見過老師如何完成他的解決方案,但我沒有看到我的解決方案與他相比有什麼不同,除了我在if語句中使用了不同的等號,並且名稱不同。當「使用不同的等於」代碼不起作用
誰能告訴我爲什麼我可能會得到一個0.0而不是實際的數字等級?
*甲等*
public class Grade
{
private String grade;
public Grade(String getGrade)
{
grade = getGrade;
}
public double getNumericGrade()
{
double total = 0;
double add = 0;
String firstLetter = grade.substring(0, 1);
if (grade.length() > 1)
{
String minusOrPlus = grade.substring(1, 2);
if(minusOrPlus == "+")
add = 0.3;
if(minusOrPlus == "-")
add = -0.3;
}
if (firstLetter == "A")
{
total = 4;
if (add < 0)
total = total + add;
}
else if (firstLetter == "B")
total = 3 + add;
else if (firstLetter == "C")
total = 2 + add;
else if (firstLetter == "D")
total = 1 + add;
else if (firstLetter == "F")
total = 0;
return total;
}
}
伊夫測試,看看我的測試是錯誤的,但如果我把老師編寫我的測試工作正常,所以我知道它不是這一點。但在這裏它是無論如何..
* GradeTester *
import java.util.Scanner;
public class GradeTester
{
public static void main (String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Hey what letter grade did you get ? : ");
String letterGrade = in.next();
Grade x = new Grade(letterGrade);
System.out.print("Your letter grade was " + letterGrade + " That means your number grade is "
+ x.getNumericGrade());
System.out.println("");
}
}
如果你能幫助我走出這將是真棒。
感謝, 彌敦道
'firstLetter ==「X」'不要再...... – Pshemo
「使用不同的_except對我來說等於在如果statements_」還有就是你的問題... – csmckelvey
我強烈建議學習使用調試器。逐步完成該計劃將立即發現問題。 – chrylis