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