首页 > 解决方案 > 如何限制输入的 char 值?

问题描述

我使用开关盒创建了简单的计算器。当我输入无效的运算符时,但它采用该值。最后它给出了默认的开关盒。我该如何限制它。

package calculator;

导入 java.util.*;公共类计算器{

public static void main(String[] args) {
    
    char operator;
    Double num1, num2, result;
    
    Scanner input = new Scanner(System.in);
    
    System.out.println("Enter the operator: +,-,*,/,% ");
    operator = input.next().charAt(0);
    
    //user input
    
    System.out.println("Enter the First Number:");
    num1 = input.nextDouble();
    
    System.out.println("Enter the Second Number:");
    num2 = input.nextDouble();
    

    switch (operator) {
        case '+': 
            result = num1+num2;
            System.out.println(num1+" + "+num1+" = " + result);
            break;
        case '-': 
            result = num1-num2;
            System.out.println(num1+" - "+num1+" = " + result);
            break;
        case '*': 
            result = num1*num2;
            System.out.println(num1+" * "+num1+" = " + result);
            break;
        case '/': 
            result = num1/num2;
            System.out.println(num1+" / "+num1+" = " + result);
            break;
        case '%': 
            result = num1%num2;
            System.out.println(num1+" % "+num1+" = " + result);
            break;
        default:
            System.out.println("Invalid operator");
        break;
    }
    input.close();

    
    
}

}

控制台输出 输入运算符:+,-,*,/,% 7 输入第一个数字:5 输入第二个数字:5 无效的运算符

标签: javaswitch-statementcalculator

解决方案


这可能会对您有所帮助。Java 或任何其他编程语言按顺序运行代码。在此处输入运算符后,您可以检查以进一步处理其他语句。你如何编写代码的逻辑,它是如何执行的。

因此,在这种情况下,一旦您为操作员取值,请检查您的情况是否允许该操作员。如果允许,则运行进一步的代码,否则不运行。


推荐阅读