简单java计算器始终输出0

简单java计算器始终输出0,java,Java,我是java新手,我正在尝试制作一个小计算器,它可以输入两个数字和一个运算符。然后将这些数据放入if语句中以计算答案。然后输出到控制台。但我有一个问题,因为: 运算符=计算下一步() 因为我认为上面的代码行输入字符串是正确的,但它不起作用,无论输入到计算器的数字是什么,答案似乎都是零 请从pastebin链接中获取代码并查看它,因为我不确定出了什么问题。我希望有人能告诉我哪里出了问题 感谢字符串通过等于(字符串其他)进行比较,而不是通过=运算符进行比较 if (operator.equals(

我是java新手,我正在尝试制作一个小计算器,它可以输入两个数字和一个运算符。然后将这些数据放入if语句中以计算答案。然后输出到控制台。但我有一个问题,因为:

运算符=计算下一步()

因为我认为上面的代码行输入字符串是正确的,但它不起作用,无论输入到计算器的数字是什么,答案似乎都是零

请从pastebin链接中获取代码并查看它,因为我不确定出了什么问题。我希望有人能告诉我哪里出了问题


感谢字符串通过
等于(字符串其他)
进行比较,而不是通过
=
运算符进行比较

if (operator.equals("+")) {
    answer = firstNumber + secondNumber;
} 
...
另外,我建议您将
if-else
语句转换为
switch
语句

import java.util.Arrays;
import java.util.Scanner;

public class Hello {

    public static void main(String args[]) {

        double firstNumber;
        double secondNumber;
        double answer = 0;
        String operator;

        Scanner Calc = new Scanner(System.in);

        System.out.println("\\\\CALCULATOR\\\\");

        System.out.println("Enter first number");
        firstNumber = Calc.nextDouble();

        System.out.println("Enter the math operator to use for this calculation");
        operator = Calc.next();

        System.out.println("Enter second number");
        secondNumber = Calc.nextDouble();

        if (operator.equals("+")) {
            answer = firstNumber + secondNumber;
        } else if (operator.equals("-")) {
            answer = firstNumber - secondNumber;
        } else if (operator.equals("/")) {
            answer = firstNumber / secondNumber;
        } else if (operator.equals("*")) {
            answer = firstNumber * secondNumber;
        }

        System.out.println(answer);
    }

}
或者使用如下所示的开关

import java.util.Arrays;

import java.util.Arrays;
import java.util.Scanner;

public class Hello {

    public static void main(String args[]) {

        double firstNumber;
        double secondNumber;
        double answer = 0;
        String operator;

        Scanner Calc = new Scanner(System.in);

        System.out.println("\\\\CALCULATOR\\\\");

        System.out.println("Enter first number");
        firstNumber = Calc.nextDouble();

        System.out.println("Enter the math operator to use for this calculation");
        operator = Calc.next();

        System.out.println("Enter second number");
        secondNumber = Calc.nextDouble();

        switch (operator) {
        case "+":
            answer = firstNumber + secondNumber;
            break;
        case "-":
            answer = firstNumber - secondNumber;
            break;
        case "/":
            answer = firstNumber / secondNumber;
            break;
        case "*":
            answer = firstNumber * secondNumber;
            break;
        default:
            System.out.println("Incorrect operator");
            break;
        }

        System.out.println(answer);
    }

}

请将您的代码粘贴在这里,并显示堆栈跟踪。欢迎使用StackOverflow。请访问并阅读以了解在此处发布的指导原则。您需要发布一个足够的代码示例来解释问题(最好是a),以及任何错误消息和/或堆栈跟踪,以及到目前为止所做的故障排除说明。已投票关闭,但这也是重复的:您正在使用==而不是equals(
运算符==“+”
)来比较字符串。使用equals(
“+”。equals(运算符)
)。也谢谢您的帮助,我不知道运算符。equals没问题:)请投票。