Java数学问题

Java数学问题,java,math,Java,Math,我的Java代码有问题: public static void GetEquation () { equation = Main.userInput.replaceAll(" ", ""); num1 = Double.parseDouble(equation.substring(0, 1)); operator = equation.substring(1, 2); num2 = Double.parseDouble(equation.substring(2,

我的Java代码有问题:

public static void GetEquation () {
    equation = Main.userInput.replaceAll(" ", "");

    num1 = Double.parseDouble(equation.substring(0, 1));
    operator = equation.substring(1, 2);
    num2 = Double.parseDouble(equation.substring(2, 3));

    if (operator == "+") {
        result = num1 + num2;
    }
    else if (operator == "-") {
        result = num1 - num2;
    }
    else if (operator == "/") {
        result = num1 / num2;
    }
    else if (operator == "*") {
        result = num1 * num2;
    }

    System.out.println(result);
}
我发现它可以很好地去除空白,并且可以很好地分配变量,但是当涉及到计算和显示结果时,它失败了。
无论我输入什么,结果都是0。我看不出有什么问题。

运算符是字符串。必须使用.equals()比较字符串的内容相等性

更改所有条件。例:

if (operator.equals("+")

你应该做一个
.trim()
来代替那些废话,而不是做
操作符==“*”
你想要的
操作符。包含(“*”)
匹配(“*”)
谢谢这真的很有用。