0 votos
por (200 puntos) en Java
tengo una duda de como agregar una excepcion para que al momento de dividir a/b al darle un valor de "0"  a la variable B me salga un error de division entre cero..y tambn como agregar el boton cambio de signo.

aka les dejo parte del codigo para que me puedan ayudar ya ke no entiendo como hacerlo.. y ya es lo ultimo.. pero me cuesta con las excepciones try y catch

<pre lang='java'>public void actionPerformed(ActionEvent e) {
        char c = ((JButton) e.getSource()).getText().charAt(0);
        if (finalizar) {
            texto.setText("");
            finalizar = false;
        }
        if (c >= '0' &amp;&amp; c <= '9') {
            texto.setText(texto.getText() + c);
        } else if (c == '.') {
            if (!texto.getText().contains(".") &amp;&amp; !texto.getText().equals("")) {
                texto.setText(texto.getText() + ".");
            }
        } else if (c == 'C') {
            texto.setText("");
            contener.removeAllElements();
        } else if (c == '=') {
            calcular();
        } else {
            operador = c;
            if (!texto.getText().equals("")) {
                contener.push(texto.getText());
            }
            texto.setText("");
        }
     }
     private void calcular() {
        if (!texto.getText().equals("") &amp;&amp; !contener.isEmpty()) {
            double a = Double.parseDouble(contener.pop());
            double b = Double.parseDouble(texto.getText());
            double r = 0;
            if (operador == '+') {
                r = a + b;
            } else if (operador == '-') {
                r = a - b;
            } else if (operador == '*') {
                r = a * b;
            } else if (operador == '/') {
                r = a / (b != 0 ? b : 1);
            }
            texto.setText(Double.toString(r));
        }
        finalizar = true;
    }
}

1 Respuesta

0 votos
por (4.3k puntos)
Para la excepción sería algo así.

try {
 r = a / b;
} catch(ArithmeticException ae) {
 texto.setText("Operación no válida");
}
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...