我需要帮助验证计算器程序中的运算符,要求用户提供两个数字和一个运算符,即 3 + 2,但我无法验证该运算符。如果用户输入 +、-、* 或/运算符,它会告诉我此输入无效,而实际上应该没问题。验证第一个数字没问题,没有问题。有人可以帮忙吗?
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
int int1;
String operator;
int int2;
Scanner scan = new Scanner(System.in);
System.out.print("Enter first number: ");
while(!scan.hasNextInt()){
scan.next();
System.err.print("Invalid input please enter a number: ");
}
int1 = scan.nextInt();
System.out.println("Enter operator (+, -, *, /): ");
while(!scan.equals("+") && !scan.equals("-") && !scan.equals("*") && !scan.equals("/")){
scan.next();
System.err.print("Invalid input please enter a valid operator (+, -, *, /");
}
operator = scan.next();
System.out.println("Enter second number: ");
scan.close();
}
}
最佳答案
您需要检查 scan.next() 的输出,而不是 scan 的输出
System.out.println("Enter operator (+, -, *, /): ");
operator = scan.next();
while(!operator.equals("+") && !operator.equals("-") && !operator.equals("*") && !operator.equals("/")) {
System.err.println("Invalid input please enter a valid operator (+, -, *, /");
operator = scan.next();
}
关于java - 在简单计算器中验证数学运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092084/