Ingeniero buenas tardes mis preguntas son:
1) ¿Si esta correcto el código?
2) ¿Es posible validar que la pregunta de los minutos que gasto se ingrese solo números?
public class Cabina1 {
public String calcular(){
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;
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?");
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?");
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";
}
System.out.println(mensaje);
return mensaje;
}
}