La pescadilla que se muerde la cola !! (problema con set)
Publicado por anonimo (5 intervenciones) el 27/12/2017 12:02:11
Hola a tod@s!, a ver si me podéis ayudar.
Estoy con una aplicación que vende cámaras fotográficas y el cliente al darse de alta recibe un bono de 3000€ para gastar(ojala existiera en la vida real eso..jejej) ,también busco que por cada compra el bono de 3000€ se decremente. Esto lo consigo cuando se vende una cámara,pero al volver a realizar la operación,el total vuelve a la cantidad original.
Esto pasa porque el set siempre tiene el mismo importe,por lo tanto,cuando se compra una cámara por primera
vez,se resta el importe de la cámara al bono,pero si se hace por segunda vez,el bono coge le valor del set y vuelve a realizar la misma operación.
Como podría solucionar este problema??
Os dejo código para que os hagáis mejor una idea.
METODO QUE REALIZA COMPRA DE LA CAMARA
RESULTADO DE LA COMPRA EN MAIN
SET / GET
Estoy con una aplicación que vende cámaras fotográficas y el cliente al darse de alta recibe un bono de 3000€ para gastar(ojala existiera en la vida real eso..jejej) ,también busco que por cada compra el bono de 3000€ se decremente. Esto lo consigo cuando se vende una cámara,pero al volver a realizar la operación,el total vuelve a la cantidad original.
Esto pasa porque el set siempre tiene el mismo importe,por lo tanto,cuando se compra una cámara por primera
vez,se resta el importe de la cámara al bono,pero si se hace por segunda vez,el bono coge le valor del set y vuelve a realizar la misma operación.
Como podría solucionar este problema??
Os dejo código para que os hagáis mejor una idea.
METODO QUE REALIZA COMPRA DE LA CAMARA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public void devolvercamaras() {
Camara a = new Camara(nombre, modelo,referencia, peso, precio);
Scanner t = new Scanner(System.in);
String opcion;
System.out.println(a.nombre + " (IVA incluido) : " + a.Getprecioconiva() + "€\n");
System.out.println("La quieres comparar..?, entonces presiona 1,pero si te lo quieres pensar escribe si");
opcion = t.nextLine();
if (opcion.equalsIgnoreCase("si")) {
System.out.println("Deseas volver a menú ( pulsa si) o irte a tomar un café?(pulsa no)");
}
if (opcion.equalsIgnoreCase("1")) {
System.out.println();
System.out.println("Gracias por tu compra! \nDeseas hacer más compras ??");
u.setSaldo(3000);
double r = a.Getprecioconiva();
u.setResto(r);
}
opcion = t.nextLine();
}
RESULTADO DE LA COMPRA EN MAIN
1
2
3
4
5
6
case"5":
System.out.println("SALDO RESTANTE \n");
System.out.println("Saldo actual : " + nuevo.getSaldo()+" €");
break;
SET / GET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public double getSaldo() {
this.saldo = getResto() ; //get que devuelve el resto como saldo.
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo ;
}
public void setResto(double resto) {
this.resto =this.saldo - resto; //set que recoge el valor del precio de la cámara (a.Getprecioconiva() )
}
public double getResto() {
return resto ;
}
Valora esta pregunta


0