Desarrollar una clase llamada Motor que:
• Tenga dos atributos private de tipo int (litros de aceite) y de tipo int (CV).
• Tenga un constructor con un parámetro de tipo int para los CV. Los litros de aceite por defecto serán 0.
• Tenga un getter para cada uno de los atributos.
• Tenga un setter para los litros.
Desarrollar una clase llamada Coche que:
• Tenga un atributo private de tipo Motor, un atributo de tipo String (marca), otro de tipo String (modelo) y otro de tipo double con el precio acumulado con las averías.
• Tenga un constructor con dos parámetros de tipo String que inicialice la marca y el modelo.
• Tenga un getter para cada uno de los atributos.
• Un método acumularAveria que incrementará el importe gastado en averías.
Desarrollar una clase llamada Garaje que:
• Tendrá tres atributos, un coche, un String con la avería asociada y el número de coches que ha ido atendiendo.
• El garaje solo podrá atender a un coche en cada momento. Controlar esta premisa.
• Tenga un método aceptarCoche que recibe un parámetro de tipo Coche y la avería asociada. El garaje solo podrá atender a un coche en cada momento. Si ya esta atendiendo uno, que devuelva un false.
• Tenga un método devolverCoche que dejara al garaje en estado de aceptar un nuevo coche.
Desarrollar una clase llamada Actividad2 que en su método main:
• Cree un garaje.
• Cree 2 coches.
• El garaje irá cogiendo los coches y devolviéndolos, acumulando un importe aleatorio (Math.random()) de la avería tratada.
• Si la avería del coche es “aceite” incrementar en 10 los litros de aceite.
• Los coches entrarán al menos 2 veces en el garaje.
• Mostrar la información de los coches al final del main.
Nota: Para calcular un número aleatorio usaremos Math.random() que devuelve un double entre 0.0 y 1.0
MI SOLUCION ES:
- CLASE MOTOR -
Código Java:
- CLASE COCHE -Ver original
public class Motor { private int litros; private int cv; public Motor (int caballos){ this.litros = 0; this.cv = caballos; } //getters public int getLitros(){ return this.litros; } public int getCV(){ return this.cv; } //setters public void setLitros(int l){ litros=l; } }
Código Java:
Ver original
public class Coche { private Motor motor; private double precio_averias; this.marca = mar; this.modelo = mod; } //getters public Motor getMotor(){ return this.motor; } return this.marca; } return this.modelo; } public double getPrecioAverias(){ return this.precio_averias; } //Metodo que incrementa gasto en averias public void acumularAveria (double averia){ this.precio_averias = this.precio_averias + averia; }
- CLASE GARAJE -
Código Python:
-CLASE ACTIVIDAD 2-Ver original
public class Garaje { private Coche c; private String averia_asociada; private int num_coches; int l=0; public Garaje(){ this.c = null; this.averia_asociada = ""; this.num_coches = 0; } public void aceptarCoches (Coche coche, String averiacoche){ this.c=coche; this.averia_asociada = averiacoche; if (num_coches==0){ System.out.println("El coche ha podido entrar"); num_coches=1; /*AQUI ESTA MI PROBLEMA, COMO ACUMULO LOS LITROS DE ACEITE PARA CADA COC HE?*/ if(this.averia_asociada.equals("aceite")){ int lit=c.getMotor().getLitros(); this.c.getMotor().setLitros(lit); System.out.println("Total de litros de aceite repostados por este coche: " +c.getMotor().getLitros()); } coche.acumularAveria(100*Math.random()); } else{ System.out.println("El garaje se encuentra ocupado"); } } public void devolverCoches (){ System.out.println("Un coche sale del garaje"); num_coches = 0; } }
Código Java:
Ver original
public class Actividad2 { Garaje garaje = new Garaje(); Motor coche2= new Motor(110); Coche primero = new Coche("Peugeot","205"); Coche segundo = new Coche("Seat","Leon"); garaje.aceptarCoches(primero,"aceite"); garaje.aceptarCoches(segundo,"filtros"); garaje.devolverCoches(); garaje.aceptarCoches(segundo,"aceite"); garaje.devolverCoches(); garaje.aceptarCoches(primero,"motor"); garaje.devolverCoches(); garaje.aceptarCoches(segundo,"aceite"); primero.getPrecioAverias(); System.out.println("El coche: " + primero.getMarca() + " " +primero.getModelo()+ " se ha gastado: " +primero.getPrecioAverias()); System.out.println("El coche: " + segundo.getMarca() + " " +segundo.getModelo()+ " se ha gastado: " +segundo.getPrecioAverias()); } }
Mi problema es como acumular los litros de aceite a cada coche, parece que me falta inicializar el motor pero no se como... Agradeceria cualquier tipo de ayuda. MUCHAS GRACIAS!!