Java - Ayuda con programa novato

 
Vista:

Ayuda con programa novato

Publicado por ivan (1 intervención) el 09/12/2010 09:20:12
tengo problemas con lo siguiente, no se nada acerca de la sintaxis en java pero deseo reducir el siguiente codigo, de manera que las variables t1, t2, t3, t4 etc, sean una sola es decir, que t este en funcion de otra variable con valor de 1 al 4
codigo:
package fundamentosunidad2;
import java.util.Scanner;
public class examenllamadas {
public static void main(String[] args) {

int clave;
float total=0, t1=0, t2=0, t3=0, t4=0, t5=0, t6=0, t7=0, t8=0, t9=0, mins;
Scanner entrada = new Scanner (System.in);
System.out.println("\nBienvenido a Servicios de Llamadas a Larga distancia");
System.out.println("\nCanadian CallBack");
System.out.println("\nPara salir teclee 0 o -1");
System.out.println("\nPor favor introduzca la clave de la zona deseada");
clave = entrada.nextInt();

while (clave>0){


clave = entrada.nextInt();

switch (clave){

case 7: System.out.println("\n Introduzca los minutos de la llamada");
mins = entrada.nextInt();
t1 = (float) (mins * 0.13);
System.out.println("El total fue de $" + t1 + "pesos");
System.out.println("El costo por llamada fue de 0.25 centavos");
System.out.println("La llamada se registró a America");
break;

case 9: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t2 = (float) (mins * 0.11);
System.out.println("El total fue de $" + t2 + "pesos");
System.out.println("El costo por llamada fue de 0.17 centavos");
System.out.println("La llamada se registró a Europa");
break;

case 10: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t3 = (float) (mins * 0.22);
System.out.println("el total es de $" + t3 + "pesos");
System.out.println("El costo por llamada fue de 0.20 centavos");
System.out.println("Llamada a Asia");
break;

case 15: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t4 = (float) (mins * 0.19);
System.out.println("el total es de $" + t4 + "pesos");
System.out.println("El costo por llamada fue de 0.50 centavos");
System.out.println("Africa y Oceanía");
break;



default:
System.out.println("Clave inválida");
break;
}

}
System.out.println("\nGracias por llamar con 'Canadian Callback'");
total = (t1 + t2 + t3 + t4);
System.out.println("\nEl total de las llamadas es de "+ total + "pesos");
System.out.println("\nLe atendió: Ophelia Ochoa");
System.out.println("\nEsperamos pronto su llamada!");

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con programa novato

Publicado por dsromero (11 intervenciones) el 16/12/2010 12:36:51
Yo creo que con una de las variables T y la variable total te llegaria. El bucle quedaría así:

while (clave>0){

clave = entrada.nextInt();

switch (clave){

case 7: System.out.println("\n Introduzca los minutos de la llamada");
mins = entrada.nextInt();
t = (float) (mins * 0.13);
System.out.println("El total fue de $" + t + "pesos");
System.out.println("El costo por llamada fue de 0.25 centavos");
System.out.println("La llamada se registró a America");
total+=t;
break;

case 9: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t = (float) (mins * 0.11);
System.out.println("El total fue de $" + t + "pesos");
System.out.println("El costo por llamada fue de 0.17 centavos");
System.out.println("La llamada se registró a Europa");
total+=t;
break;

case 10: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t = (float) (mins * 0.22);
System.out.println("el total es de $" + t + "pesos");
System.out.println("El costo por llamada fue de 0.20 centavos");
System.out.println("Llamada a Asia");
total+=t;
break;

case 15: System.out.println("\nIntroduzca los minutos de la llamada");
mins = entrada.nextInt();
t = (float) (mins * 0.19);
System.out.println("el total es de $" + t + "pesos");
System.out.println("El costo por llamada fue de 0.50 centavos");
System.out.println("Africa y Oceanía");
total+=t;
break;


default:
System.out.println("Clave inválida");
break;
}

así el resultado sería el mismo y te ahorrarías 3 variables
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar