Java - ¿ME PODRIAN AYUDAR CON ESTE EJRCICIO DE JAVA?

 
Vista:

¿ME PODRIAN AYUDAR CON ESTE EJRCICIO DE JAVA?

Publicado por Mak (1 intervención) el 05/03/2021 22:59:10
Buenas tardes ¿Alguien me podría ayudar por favor? entendí poco y esto fue lo único que pude hacer, no tengo certeza de que lo poco que hice esté bien, estaría muy agradecida si alguien me puede ayudar. Muchas gracias


CLASE Y MÉTODOS ABSTRACTOS

Se desea hacer un programa para un almacén de ropa al por mayor. Dicha empresa ofrece una serie de descuentos a sus clientes, los cuales los clasifica en tres tipos según su antigüedad, esto es a mayor antigüedad mayor beneficio. Estos descuentos se hacen por compras superiores a $50000.

Tipos de Clientes:

Tipo A: Tendrá un descuento del 10%.

Tipo B: Tendrá un descuento del 5%.

Tipo C: Tendrá un descuento del 2%.

Debe haber un método para mostrar la información de los clientes: nombre, la clave del cliente, el valor del descuento que se le hizo y el valor total a pagar.

En el programa principal se debe crear un menú de opciones que permita escoger que tipo de cliente es al que se le va a realizar el descuento sobre la compra que realiza y mostrar su respectiva información (nombre, clave, valor de la compra, el valor del descuento, el valor total a pagar).

Tenga en cuenta que el programa debe contener:

Una súper clase (clase abstracta): atributos, constructores, métodos get y set, método abstracto para calcular el total a pagar por el cliente y un método para mostrar la información.

Para las subclases: deben llevar un atributo llamado TotalCompra el cual permitirá saber cuál fue el valor de la compra hecha por el cliente y uno para descuento. Así mismo, debe llevar sus constructores, métodos get y set, método para calcular el valor a pagar por el cliente y uno para determinar el valor del descuento.

Las compras no pueden ser inferiores a cero pesos, por lo tanto, deben crear en las subclases un método para validar que el cliente haya hecho una compra válida.


CÓDIGO:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
package descuentoclientes;
 
public abstract class Cliente {
 
private String nombre, claveDeCliente;
    private String clave;
 
public Cliente (String nom, String Clave)
{
    nombre=nom;
    claveDeCliente= clave;
}
 
  public void dameNombre (String nom)
    {
        nombre=nom;
    }
 
public String devuelveNombre()
 
{
    return nombre;
}
 
public void dameClave(String clave)
        {
            claveDeCliente=clave;
        }
 
public String devuelveClave()
        {
            return claveDeCliente;
        }
 
public abstract double totalAPagar();
 
public String Descuento()
        {
         return "Nombre del cliente: "+devuelveNombre()+ "\n"+"Clave Del Cliente: "+devuelveClave();
        }
}
 
 
 
 
 
 
 
public class ClienteA extends Cliente {
 
    private double totalDeCompra;
 
    public ClienteA(String nom, String clave, double compra){
        super (nom, clave);
    }
 
    public void estableceCompra(double compra){
        if (totalDeCompra>=0){
            totalDeCompra=compra;
        }
 
        else {
            totalDeCompra=0;
        }
    }
 
    //Cierre del método llamado estableceCompra.
 
    public double devuelveCompra (){
        return totalDeCompra;
    }
 
 
    public double totalAPagar() {
        if (totalDeCompra>50000){
        return totalDeCompra-totalDeCompra*0.1;
        }
 
        else {
           return totalDeCompra;
        }
        }
 
    //Fin del método llamado totalApagar().
 
            public String ClienteA () {
                return "Cliente A : \n" +super.toString()+"\n"+"Total de la compra: "+devuelveCompra()+"\n"+totalAPagar();
            }
   }
 
 
 
 
 
 
 
 
public class ClienteB extends Cliente {
 
    private double totalDeCompra;
 
    public ClienteB(String nom, String clave, double compra){
        super (nom, clave);
    }
 
    public void estableceCompra(double compra){
        if (totalDeCompra>=0){
            totalDeCompra=compra;
        }
 
        else {
            totalDeCompra=0;
        }
    }
 
    //Cierre del método llamado estableceCompra.
 
    public double devuelveCompra (){
        return totalDeCompra;
    }
 
 
    public double totalAPagar() {
        if (totalDeCompra>50000){
        return totalDeCompra-totalDeCompra*0.05;
        }
 
        else {
           return totalDeCompra;
        }
        }
 
    //Fin del método llamado totalApagar().
 
            public String ClienteB () {
                return "Cliente B : \n" +super.toString()+"\n"+"Total de la compra: "+devuelveCompra()+"\n"+totalAPagar();
            }
   }
 
 
 
 
 
 
public class ClienteC extends Cliente {
 
    private double totalDeCompra;
 
    public ClienteC(String nom, String clave, double compra){
        super (nom, clave);
    }
 
    public void estableceCompra(double compra){
        if (totalDeCompra>=0){
            totalDeCompra=compra;
        }
 
        else {
            totalDeCompra=0;
        }
    }
 
    //Cierre del método llamado estableceCompra.
 
    public double devuelveCompra (){
        return totalDeCompra;
    }
 
 
 
    public double totalAPagar() {
        if (totalDeCompra>50000){
        return totalDeCompra-totalDeCompra*0.02;
        }
 
        else {
           return totalDeCompra;
        }
        }
 
    //Fin del método llamado totalApagar().
 
            public String ClienteC () {
                return "Cliente C : \n" +super.toString()+"\n"+"Total de la compra: "+devuelveCompra()+"\n"+totalAPagar();
            }
   }
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