Utilice Java para escribir una calculadora, realizar la función de suma, resta, multiplicación y división, y poder recibir nuevos datos de forma cíclica, a través de la interacción del usuario.

public class HomeworkDemo {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);


        double result = 0;
        while (scanner.hasNextDouble()) {
    
    
            double i = scanner.nextDouble();
            String str = scanner.next();
            double j = scanner.nextDouble();

            switch (str) {
    
    
                case "+":

                    result = add(i, j);

                    System.out.println(result);
                    break;
                case "-":

                    result = minus(i, j);

                    System.out.println(result);
                    break;
                case "*":

                    result = multiply(i, j);

                    System.out.println(result);
                    break;
                case "/":if(j==0){
    
    
                    System.out.println("除数不能为零");
                    break;
                }else

                    result = divide(i, j);

                    System.out.println(result);
                    break;
            }if (str.equals("quit")){
    
    
                System.out.println("退出计算器");
                break;
            }


        }scanner.close();
    }

    //加
    public static double add ( double a , double b){
    
    
        return a + b;
    }//减
    public static double minus ( double a , double b){
    
    
        return a - b;
    }//乘
    public static double multiply ( double a , double b){
    
    
        return a * b;
    }//除
    public static double divide ( double a , double b){
    
    
        return a / b;
    }


}

Problemas encontrados: 1. Usar scanner.hasNext como la expresión booleana de while, lo que da como resultado que no se asigne un valor al primer número cuando se ingresa un nuevo conjunto de datos a calcular, y salta directamente al juicio del analizador. .hasNext. Así que cambie la expresión booleana de while a scanner.hasNextDouble
2. Cuando el divisor es cero, no solo genera "El divisor no puede ser cero", sino que también genera el valor 0 asignado al resultado al principio y agrega la ruptura; luego resuelve el problema.
3. Usando la idea de la solución paso a paso, puedes hacer una calculadora que pueda hacer operaciones de suma y una calculadora que pueda hacer cuatro operaciones aritméticas.

Supongo que te gusta

Origin blog.csdn.net/qq_43021902/article/details/113822261
Recomendado
Clasificación