/* Lab05.java (c) 2007 adolfo@di-mare.com */ /** @(#)Lab05.java 2007 Calculadora simple. @author Adolfo Di Mare */ import javax.swing.JOptionPane; // usado para entrar datos con showInputDialog() /** Clase que contiene el programa principal {@code main()}. */ public class Lab05 { /** Programa principal. */ public static void main( String args[] ) { String numero, // número leído letra; // letra leída long r, // valor temporal recién leido acum; // valor total acumulado por la calculadora char op; // operación a efectuar con el siguiente número leido // pone en cero el valor inicial del acumulador acum = 0; // Pide el primero operador de la calculadora System.out.print( (acum) + " > " ); letra = JOptionPane.showInputDialog( "Introduzca el operador:" ); op = letra.charAt(0); // convierte la hilera leída en el caracter "op" // Ciclo para efectuar todos los cálculos while (op != '.') { // lee el valor a acumular numero = JOptionPane.showInputDialog( "Introduzca el número" ); r = Integer.parseInt( numero ); // selecciona la operación "op" a efectuar (sale con '.') switch (op) { case '+': acum += r; break; case '-': acum = acum - r; break; case '*': acum *= r; break; case '/': acum = acum / r; break; default: // operador inválido System.out.print( "\n(" + (op) + ")==> Operación inválida\n" ); } // pide el siguiente operador a efectuar System.out.print( (acum) + " > "); letra = JOptionPane.showInputDialog( "Introduzca el operador:" ); op = letra.charAt(0); // convierte la hilera leída en el caracter "op" } // mensaje final antes de terminar la ejecución System.out.print( (acum) + " > "); return; } // main() /** Constructor por defecto. * {@code private} previene que la clase sea instanciada. */ private Lab05() { super(); } } // Lab05 /* EOF: .java */