-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTaller.java
197 lines (150 loc) · 5.55 KB
/
Taller.java
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
187
188
189
190
191
192
193
194
195
196
197
/**
*En el taller de coches DAW hay precios especiales para cambiar el aceite y las
ruedas a los coches. Este taller tiene en el almacén el aceite y las ruedas para
realizar dichos cambios.
En el taller se necesita saber en un momento dado cuantos coches será capaz de
atender en función de las existencias de ruedas y aceite que tiene en el taller.
Además, se quiere llevar el registro de los ingresos producidos en el taller por
haber realizado los cambios de ruedas y aceite.
Para ello hay que crear una clase Taller con los atributos aceite,
ruedas, contadorCambiosTotales, contadorCambiosParciales.
Como métodos tiene:
1.- Constructor(int, int): recibirá el número de bidones de aceite y el número de
ruedas que hay en el almacén. Los bidones de aceite son de 5 litros cada uno.
* Los contadores se inicializan a 0.
2.- addAceite(int): incrementa los litros nuevos de aceite en función de los bidones
que se pasan como parámetro.
3.- addRuedas(int): incrementa el número de ruedas indicado para el almacén.
*
*
*
*
4.- getCambioCompletos(): devuelve el número de coches al que se puede hacer
un cambio completo con las existencias que tenemos en el almacén. Se utilizan 3
litros de aceite por coche y se cambian las cuatro ruedas del coche.
5.- getCambioParcial(): devuelve el número de coches al que se puede hacer un
cambio parcial con las existencias que tenemos en el almacén. Se utilizan 3 litros
de aceite por coche y se cambian solo dos ruedas del coche.
5.- cambioCompleto(): disminuye el número de litros de aceite y de ruedas del
almacén porque se ha hecho el cambio completo a un coche en el taller e
incrementa el contador correspondiente.
6.- cambioParcial(): disminuye el número de litros de aceite y de ruedas del
almacén porque se ha hecho el cambio parcial a un coche en el taller, e
incrementa el contador correspondiente.
7.- getRuedas(): devuelve el número de ruedas que hay en el taller.
8.-getAceite(): devuelve el número de litros de aceite que hay en el taller.
9.-toString(): devuelve un string con la siguiente información y con el siguiente formato:
TALLER EXISTENCIAS:
Ruedas: 50 unidades.
Aceite: 230 litros.
INGRESOS: Total: 245,45 €
Los ingresos se calculan de la siguiente manera: los cambios parciales se
facturan a 5 euros el litro de aceite y 60 euros por rueda, y los cambios completos
se facturan a 4,5 euros el litro de aceite y 50 euros por rueda.
En el programa principal crea un taller y prueba todos sus métodos.
Modifica la clase Taller para que tenga un constructor copia.
En el programa principal crea un segundo objeto de tipo Taller haciendo uso de ese constructor.
Comprueba que los datos de ambos talleres son iguales.
*/
public class Taller {
int ruedas;
int aceite;
// int coches;
int contadorCambiosTotales;
int contadorCambiosParciales;
//public Taller(){}
public Taller(int ruedas, int aceite ){ // 1.- Constructor
this.ruedas=ruedas;
this.aceite+=aceite*5; // incrementa con + y lo que venga x5.. el numero de bidones
contadorCambiosTotales=0; //lo pide el problema a cero
contadorCambiosParciales=0;
}
public void addAceite(int aceite) // incrementa los litros nuevos de aceite en función de los bidones que se pasan como parámetro.
{
this.aceite+=aceite*5;
}
public void addRuedas(int ruedas)
{
this.ruedas+=ruedas; // incrementarrrrrrrrrrrrrrr
}
public int getRuedas(int ruedas)
{
this.ruedas=ruedas;
return ruedas;
}
public int getAceite(int aceite)
{
this.aceite=aceite;
return aceite;
}
/* BOTON DERECHO : insertar codigo............
public int getRuedas() {
return ruedas;
}
public void setRuedas(int ruedas) {
this.ruedas = ruedas;
}
public int getAceite() {
return aceite;
}
public void setAceite(int aceite) {
this.aceite = aceite;
}*/
public int getCambioCompletos()
{
int aux=(aceite/3<=ruedas/4)?aceite/3:ruedas/4;
return aux;
}
public int getCambioParcial()
{
int aux=(aceite/3<=ruedas/2)?aceite/3:ruedas/2;
return aux;
}
public void cambioCompleto(){
/*boolean aux=(get.cambioCompleto()>0);
ruedas-=aux? 4:0;
aceite-=aux? 3:0;
contadorCambiosTotales+=aux?1:0;
*/
if(getCambioCompletos()>0){
ruedas-=4;
aceite-=3;
contadorCambiosTotales++;
}
}
public boolean CambioParcial(){
boolean aux=(getCambioParcial()>0);
ruedas-=aux?2:0;
aceite-=aux?3:0;
contadorCambiosTotales+=aux?1:0;
return aux;
}
public int setRuedasInicial(int ruedas)
{
//this.ruedas=ruedas;
return ruedas;
}
public int setAceiteInicial(int aceite)
{`+ç
public int getAceite()
{
return aceite;
}
*/
public String toString()
{
double ingresos=contadorCambiosTotales*4*50+contadorCambiosTotales*3*4.5;
ingresos+=contadorCambiosParciales*2*60+contadorCambiosParciales*3*5;
//return "TALLER ESXISTENCIAS\n ruedas: "+ruedas+" aceite: "+aceite+";
return String.format("TALLER exis"+" );
/* MISMO QUE PRINT F es STRING.format*/
}
/*
TALLER EXISTENCIAS:
Ruedas: 50 unidades.
Aceite: 230 litros.
INGRESOS: Total: 245,45 €
Los ingresos se calculan de la siguiente manera: los cambios parciales se
facturan a 5 euros el litro de aceite y 60 euros por rueda, y los cambios completos
se facturan a 4,5 euros el litro de aceite y 50 euros por rueda. */
}