Java “使用不同的等式”时代码不起作用

Java “使用不同的等式”时代码不起作用,java,string,Java,String,嘿,我最近开始使用Java,我在编写一个程序时遇到了麻烦。我看到了老师是如何完成他的解答的,但是我没有看到我的解答与他的解答有什么不同,除了我在if语句中使用了不同的equals,而且名称也不同 有人能告诉我为什么我会得到0.0而不是实际的数字分数吗 *年级班* 如果你能帮我,那就太棒了 谢谢, Nathan所有字符串比较都失败: firstLetter==A应该是firstLetter.equalsA,依此类推 请参见firstLetter==X,不要再重复了…除了我在if语句中使用了不同的e

嘿,我最近开始使用Java,我在编写一个程序时遇到了麻烦。我看到了老师是如何完成他的解答的,但是我没有看到我的解答与他的解答有什么不同,除了我在if语句中使用了不同的equals,而且名称也不同

有人能告诉我为什么我会得到0.0而不是实际的数字分数吗

*年级班*

如果你能帮我,那就太棒了

谢谢,
Nathan

所有字符串比较都失败:

firstLetter==A应该是firstLetter.equalsA,依此类推


请参见

firstLetter==X,不要再重复了…除了我在if语句中使用了不同的equals,这是您的问题…我强烈建议学习使用调试器。单步执行程序会立即发现问题。是的,很抱歉我犯了错误,我尝试过搜索,但找不到,我想我忽略了它。谢谢你的帮助。现在开始调试,谢谢。啊,我现在明白了。非常感谢您的快速响应和帮助!
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;
}
}
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("");



}
}