Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2010, 17:26
lobo34
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Calculadora en Java

Hola comunidad, espero me puedan ayudar con este tema.

Estoy desarrollando una calculador basica en Java por medio de NetBeans 6.8.
El problema que tengo es el siguiente, se supone que hay 5 opciones y si salgo de esas por ejemplo tecleo la opcion 6 este quiere hacer una operaicon cuando tiene que enviar un mensaje de que seleccione una opcion valida del 1 al 5.

Aqui el codigo:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package calculadora;
import javax.swing.JOptionPane;
/**
*
* @author */


class Calculadora{

float operacion (int operacion, float n1, float n2){
float resultado = 1.0f / 0.0f;
switch (operacion){
case 1:
resultado = n1+n2;
break;
case 2:
resultado = n1-n2;
break;
case 3:
resultado = n1*n2;
break;
case 4:
resultado = n1/n2;
break;
}
return resultado;
}
float operador(int a){
boolean datoOk = false;
String dato;
float operador =0;
do{
try{
dato = JOptionPane.showInputDialog("Valor " + a);
operador = Float.parseFloat(dato);
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"Por favor entre un número válido");
}
} while (datoOk);
return operador;
}
}

public class Main {


public static void main(String[] args) {
Calculadora BasiCal = new Calculadora();
String [] tipoOperacion ={"+","-","*","/"};
int operacion = 0;
String dato;
String menu;
float num1=0f, num2=0f;
boolean salir = false;
menu = "Elige la operación deseada \n1.- SUMA\n2.- RESTA \n3.- MULTIPLICACION\n4.-DIVISION\n5.- SALIR";
while (!salir){
salir = false;
do {
try{
dato = JOptionPane.showInputDialog(menu);
operacion = Integer.parseInt(dato);
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"Proporciona un opcion entre 1 y 5.");
}
} while (operacion == 0);

if (operacion != 5){
num1 = BasiCal.operador(1);
num2 = BasiCal.operador(2);


JOptionPane.showMessageDialog(null, num1 + " " + tipoOperacion[operacion - 1] + " " + num2 + " = " +
+ BasiCal.operacion(operacion, num1, num2),"Calculadora Basica MR*",JOptionPane.PLAIN_MESSAGE);
}


else{
JOptionPane.showMessageDialog(null, "Calculadora Basica, Derechos Reservados", "Calculadora Basica RM*", JOptionPane.PLAIN_MESSAGE);
salir = true;
}
}
}

}


Que estoy omitiendo???