织梦CMS - 轻松建站从此开始!

欧博ABG官网-欧博官方网址-会员登入

Realizar una Calculadora皇冠 en Netbeans con JOption

时间:2025-07-18 11:49来源: 作者:admin 点击: 2 次
Calculadora Básica con JOptionPane Buenas, necesito ayuda, en clase me pasaron el codigo de una calculadora sencilla. En resumen, me pidieron que en

Calculadora Básica con JOptionPane

Buenas, necesito ayuda, en clase me pasaron el codigo de una calculadora sencilla. En resumen, me pidieron que en vez de usar system.out.println lo remplaze con JOptionPane Hice los cambios en el codigo reemplazando todos los system por JOptionPane pero al momento de correr el programa solamente muestra el primer JOptionPane, de allí el programa continua corriendo pero se queda en RUN y no continua. El programa en que estoy haciendo el código es Netbeans 8.2 IDE. Es de las primeras veces que estoy haciendo código Agradecería mucho la ayuda, muchas gracias.

package calculadora; import java.util.Scanner; import javax.swing.JOptionPane; public class Calculadora_Pane { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double res = 0; String operacion; boolean comprobar = false; do{ String numero1; do { JOptionPane.showInputDialog(null, "\n Por favor, dame el primer número de la operación. "); numero1 = sc.nextLine(); } while (!numero1.matches("[+-]?[\\d]*[.]?[\\d]+")); double nume1 = Double.parseDouble(numero1); double n1 = new Double(numero1); do { JOptionPane.showMessageDialog(null,"Teniendo en cuenta que: n + = sumar \n - = restar \n" + " x = multiplicar \n / = dividir \n * = elevar primer número al segundo numero." + "\n % = residuo"); JOptionPane.showInputDialog(null, "\n ¿Que operación desea hacer? (Solo coloque un signo)"); operacion = sc.nextLine(); if (operacion.equals("+") || operacion.equals("-") || operacion.equals("x") || operacion.equals("X") || operacion.equals("/") || operacion.equals("%") || operacion.equals("*")) { comprobar = true; }else { comprobar = false; } } while (comprobar != true); String numero2; do { JOptionPane.showInputDialog(null, "\n Por favor, dame el segundo número."); numero2 = sc.nextLine(); } while (!numero2.matches("[+-]?[\\d]*[.]?[\\d]+")); double nume2 = Double.parseDouble(numero2); double n2 = new Double(numero2); do{ comprobar = true; switch(operacion){ case "+": res = n1 + n2; break; case "-": res = n1 - n2; break; case "x": case "X": res = n1 * n2; break; case "/": while(n2 == 0){ do { JOptionPane.showInputDialog(null, " En el denominador se encuentra \n" + "un cero, para evitar errores coloca otro número."); numero2 = sc.nextLine(); }while (!numero2.matches("[+-]?[\\d]*[.]?[\\d]+")); nume2 = Double.parseDouble(numero2); n2 = new Double(numero2); } res = n1 / n2; break; case "*": res = Math.pow(n1, n2); break; case "%": while(n2 == 0){ do { JOptionPane.showInputDialog(null, " En el denominador se encuentra \n" + "un cero, para evitar errores coloca otro número."); numero2 = sc.nextLine(); }while (!numero2.matches("[+-]?[\\d]*[.]?[\\d]+")); nume2 = Double.parseDouble(numero2); n2 = new Double(numero2); } res = n1 % n2; break; } }while(comprobar != true); JOptionPane.showMessageDialog(null, "(" + numero1 + ") " + operacion + " (" + numero2 + ")" + " = " + res); JOptionPane.showMessageDialog(null, "\n ¿Desea hacer alguna otra operación? \n"); JOptionPane.showConfirmDialog(null, " [SI / NO]"); do{ comprobar = true; operacion = sc.nextLine(); switch (operacion) { case "s": case "S": case "n": case "N": break; default: JOptionPane.showMessageDialog(null, "\n Error, ponga un literal valido. \n"); comprobar = false; } }while(comprobar != true); }while(operacion.equals("s") || operacion.equals("S")); }

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-07-22 07:07 最后登录:2025-07-22 07:07
栏目列表
推荐内容