Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

echenme una ayudadita es con una variable en java!!

briandis

Bovino maduro
Desde
27 Sep 2008
Mensajes
275
Que tal hermanos, miren ando entrando en esta onda de la programación, resulta que estaba haciendo un programa por mi cuenta de retiro, abono o ver saldo en java! pero lo que guardo en la variable saldo se pierde al momento del bucle, mmm como podría solucionar este problema???

Repito soy novato pero quiero aprender; acá les dejo mi código


////////////////////////////////////////////////////////
package banco1;
import java.util.Scanner;
class saldo{
public static int saldo;
public saldo(){
saldo+=saldo;
}
public void ver_saldo(){

System.out.println("Tu saldo disponible es: " +saldo);
}



public int abonar(int x){
saldo=saldo+x;
System.out.println("Tu saldo actualizado es: " +saldo);
return saldo;
}

public void retirar(int x){
if (saldo<x)
{
System.out.println("No cuentas con la cantidad necesaria");
}
else{
saldo=saldo-x;
System.out.println("Tu saldo actualizado es: " +saldo);
}
}
}
class switch1 extends saldo {

public void seleccion(int x){
switch(x){
case 1:

System.out.print("Cuanto abonas");
Scanner abono= new Scanner(System.in);
int abono2= abono.nextInt();
abonar(abono2);

break;

case 2:
System.out.print("Cuanto retiras");
Scanner retiro= new Scanner(System.in);
int retiro2= retiro.nextInt();
retirar(retiro2);
break;

case 3:
ver_saldo();
break;
case 4:
System.exit(0);
break;

}

}
}

public class Main {
public static void main(String[] args) {
// TODO code application logic here
int xz;
System.out.println("1.- Abonar");
System.out.println("2.- Retirar");
System.out.println("3.- Ver Saldo");
System.out.println("4.- Salir");
System.out.println("Selecciona una opcion");
do{
Scanner lector= new Scanner(System.in);
int lector2= lector.nextInt();
switch1 obj= new switch1();
obj.seleccion(lector2);
System.out.print("Si deseas realizar otra transaccion presiona 1 en caso contrario 0");
Scanner sn= new Scanner(System.in);
xz= sn.nextInt();
}while(xz==1);

}

}
 
Lo que sucede es que cada vez que entras en el do-while generas una nueva instancia del objeto obj

Intenta con algo asi:

//Pon esta linea de codigo antes de entrar al do-while
switch1 obj= new switch1();
do{
Scanner lector= new Scanner(System.in);
int lector2= lector.nextInt();
//La linea de abajo debe ir antes
//switch1 obj= new switch1();
obj.seleccion(lector2);
System.out.print("Si deseas realizar otra transaccion presiona 1 en caso contrario 0");
Scanner sn= new Scanner(System.in);
xz= sn.nextInt();
}while(xz==1);

Espero te sirva
 
Volver
Arriba