Creé una calculadora simple usando la caja del interruptor. Cuando ingreso los operadores no válidos, pero toma ese valor. Y al final da el caso de cambio predeterminado. ¿Cómo puedo restringirlo?
package calculator;
importar java.util.*; Calculadora de clase pública {
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(); }
}
salida de la consola Ingrese el operador: +,-,*,/,% 7 Ingrese el primer número: 5 Ingrese el segundo número: 5 Operador inválido
if(Character.isDigit(c)){ // what you want for true } else{ // what you want for false }
Esto puede ayudarte. Java o cualquier otro lenguaje de programación ejecuta el código secuencialmente. Aquí, una vez que se ingresa el operador, puede verificar para continuar con otras declaraciones. La lógica del código como se escribe, de esa manera se ejecuta.
Entonces, en este caso, una vez que tome valor para el operador, verifique si ese operador está permitido en su caso o no. Si está permitido, ejecute el código adicional; de lo contrario, no ejecute eso.