Foros del Web » Programación para mayores de 30 ;) » Java »

Revision de pequeño ejercicio

Estas en el tema de Revision de pequeño ejercicio en el foro de Java en Foros del Web. Este codigo lo ke hace es un menu para un banco bien puede depositar retirar y consultar sin embargo el proble ma es que NO ...
  #1 (permalink)  
Antiguo 01/10/2007, 18:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Revision de pequeño ejercicio

Este codigo lo ke hace es un menu para un banco bien puede depositar retirar y consultar sin embargo el proble ma es que NO ENTRA AL SWITCH y no se por que creo que es por la conversion ahi esta el codigo.

alguna explicaion gracias


package banco;

/**
*
* @author Angelical
*/
import java.io.*;

public class sistema {

/** Creates a new instance of sistema */
public sistema() {
}
public static void main(String [] args) throws IOException{
int op;
String valor1,valor2,valor3;
double depo=0,reti=0,saldo=0;
int opciones;
InputStreamReader x = new InputStreamReader (System.in);
BufferedReader y = new BufferedReader (x);

do{
System.out.println(" M E N U");

System.out.println("\n 1. Depositar");

System.out.println("2. Retirar");

System.out.println("3. Consultar");

System.out.print("4 Salir: ");

break;
} while (op!=4);
System.out.println("Que desea hacer");
valor3=y.readLine();
op=Integer.parseInt(valor3);
switch(op){
case '1':
System.out.println("Cuanto Desea depositar");
valor1=y.readLine();
depo=Double.parseDouble(valor1);
if(depo <= 0){
System.out.println("Esa cantidad es invalida");
} else {
saldo=saldo+depo;
System.out.println("su nuevo saldo es" + saldo);
}
break;
case '2':
System.out.println("Cuanto desea retirar");
valor2=y.readLine();
reti=Double.parseDouble(valor2);
if (reti > saldo){
System.out.println("Saldo insuficente");;
} else{
saldo=saldo-reti;
System.out.println("Su nuevo saldo es"+saldo);
}
case'3':
System.out.println("Su saldo Actual es"+saldo);
break;
case'4':
System.exit(0);

}

}
}
  #2 (permalink)  
Antiguo 01/10/2007, 18:33
 
Fecha de Ingreso: junio-2007
Mensajes: 128
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Revision de pequeño ejercicio

Sencillo, cuando se escribe por ejemplo 1, en el switch usted está comparando con el caracter '1' y no con el valor entero 1, la solución es qutarle las comilla a los cuatro casos.
__________________
todo en la vida nos ofrece una oportunidad de aprender.
Raúl Orlando Otálvaro Cardona
Licenciado en Matemáticas y Física
  #3 (permalink)  
Antiguo 01/10/2007, 18:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Revision de pequeño ejercicio

tiene razon Gracias... una ultima pregunta

como hago para ke el switch no se salga despues de elegir una opcion segun yo el DO-WHILE seria suficiente para mentener adentro hasta presionar el 4 o hay alguna otra forma de mantenerme adentro?
  #4 (permalink)  
Antiguo 02/10/2007, 15:36
 
Fecha de Ingreso: junio-2007
Mensajes: 128
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Revision de pequeño ejercicio

basicamente se trata de cambiar el orden de tu forma de pensar. lo que
hice fué cambiar el do -while for la sentencia while y eso es todo.
Aprovecho para aconsejarte que utilices un poco de tabulacionesT


import java.io.*;

public class sistema {

/** Creates a new instance of sistema */
public sistema() {
}
public static void main(String [] args) throws IOException{
int op=0;
String valor1,valor2,valor3;
double depo=0,reti=0,saldo=0;
int opciones;
InputStreamReader x = new InputStreamReader (System.in);
BufferedReader y = new BufferedReader (x);
while (op!=4){
System.out.println(" M E N U");

System.out.println("\n 1. Depositar");

System.out.println("2. Retirar");

System.out.println("3. Consultar");

System.out.print("4 Salir: ");
System.out.println("Que desea hacer");
valor3=y.readLine();
op=Integer.parseInt(valor3);
switch(op){
case 1:
System.out.println("Cuanto Desea depositar");
valor1=y.readLine();
depo=Double.parseDouble(valor1);
if(depo <= 0){
System.out.println("Esa cantidad es invalida");
} else {
saldo=saldo+depo;
System.out.println("su nuevo saldo es" + saldo);
}
break;
case 2:
System.out.println("Cuanto desea retirar");
valor2=y.readLine();
reti=Double.parseDouble(valor2);
if (reti > saldo){
System.out.println("Saldo insuficente");;
} else{
saldo=saldo-reti;
System.out.println("Su nuevo saldo es"+saldo);
}
case 3:
System.out.println("Su saldo Actual es"+saldo);
break;
case 4:
System.exit(0);

}

}

}
}
__________________
todo en la vida nos ofrece una oportunidad de aprender.
Raúl Orlando Otálvaro Cardona
Licenciado en Matemáticas y Física
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:05.