我是 Java 的新手编码器,我正在尝试用 Java 制作这个计算器,用户可以输入两个数字并选择要对这些数字执行的操作。然而,当代码选择运算符时,它会跳过用户输入和 if 语句,并直接实现 else 语句。
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner Calc = new Scanner(System.in);
int n1;
int n2;
int Answer;
System.out.println("Enter the first number: ");
n1 = Calc.nextInt();
System.out.println("Enter the second number:" );
n2 = Calc.nextInt();
System.out.println("Select the order of operation: ");
char operator = Calc.nextLine().charAt(0);
if (operator == '+') {
Answer = (n1 + n2);
System.out.println("Answer:" + Answer);
}
if (operator == '-') {
Answer = (n1 - n2);
System.out.println("Answer:" + Answer);
}
if (operator == '*') {
Answer = (n1 * n2);
System.out.println("Answer:" + Answer);
}
if (operator == '/') {
Answer = (n1/n2);
System.out.println("Answer:" + Answer);
}
else {
System.out.println("not implemented yet. Sorry!");
}
}
}
最佳答案
在 n2 = Calc.nextInt();
之后添加 Calc.nextLine();
以使用换行符。
您也没有使用 else if
,因此即使之前的 if
已经匹配,所有这些 if
条件也会被检查(导致您的最终结果只要运算符不是 '/'
,else 就会被执行。
在这种情况下,您可能应该只使用 switch
block 。
关于java - Java中的简单计算器程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204297/