Buenos días Ingeniero, aquí esta el código de la cabina telefónica, el mensaje que usted me mando para validar que en la pregunta los minutos que gasto no se acepten no letras no me funciona empieza a correr pero no termina.Gracias.
public String cabina(){
String preguntar = "";
String tipoLlamada = "";
int calcularNacional = 0;
int calcularLocal = 0;
String preguntarMinutosNacional = "";
String preguntarMinutosLocal = "";
int enteroMinutosNacional = 0;
int enteroMinutosLocal = 0;
String mensaje = "";
int gananciaTotal = 0;
int acumuladorNacional = 0;
int acumuladorLocal = 0;
boolean retorno = false;
do{
preguntar = JOptionPane.showInputDialog("¿Desea hacer una llamada?");
if(preguntar.equals("si")){
tipoLlamada = JOptionPane.showInputDialog("¿Su llamada es nacional o local?");
if(tipoLlamada.equals("nacional")){
preguntarMinutosNacional = JOptionPane.showInputDialog("¿Cuantos minutos gasto?");
try {
Integer.parseInt(preguntarMinutosNacional);
retorno = true;
} catch (NumberFormatException nfe){
retorno = false;
mensaje = "Ingrese solo numeros";
}
if(retorno==true){
enteroMinutosNacional = Integer.parseInt(preguntarMinutosNacional);
calcularNacional = 100*enteroMinutosNacional;
acumuladorNacional += calcularNacional;
mensaje = "Debe pagar: "+calcularNacional;
System.out.println(mensaje);
}
}
if(tipoLlamada.equals("local")){
preguntarMinutosLocal = JOptionPane.showInputDialog("¿Cuantos minutos gasto?");
if(retorno==true){
enteroMinutosLocal = Integer.parseInt(preguntarMinutosLocal);
calcularLocal = 10*enteroMinutosLocal;
acumuladorLocal += calcularLocal;
mensaje = "Debe pagar: "+calcularLocal;
System.out.println(mensaje);
}
}
}while(preguntar.equals("si"));
if(preguntar.equals("no")){
gananciaTotal = acumuladorNacional+acumuladorLocal;
mensaje = "El programa se cerro su ganancia total es: "+gananciaTotal;
}
if(!preguntar.equals("si") && !preguntar.equals("no")){
mensaje = "Ingrese si o no";
}
}while(preguntar.equals("si"));
return mensaje;
}