Java - problema java para un novato

 
Vista:

problema java para un novato

Publicado por Javier Arratta (2 intervenciones) el 12/03/2012 15:55:47
Hola a todos

Pues me he apuntado a un curso de java para aprender desde 0 y la verdad es que me han mandado un ejercicio que no se por donde cogerlo....el enunciado es el siguiente:


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



yo he realizado lo siguiente...

La clase Motor

public class Motor {

//Atributos.

private int litros_aceite;
private double cv;

//Constructor.

public Motor(int id){
cv = id;
litros_aceite = 0;
}

//getter.


public int getLitros(){
return litros_aceite;
}
public double getCV(){
return cv;
}

//setter.

public void setLitros(int lt){
litros_aceite = lt;
}
}

La Clase Coche....que aqui empiezan mis problemas

public class Coche {

//Declaramos Atributos
private Motor MiMotor;
private String MiMarca;
private String MiModelo;
private double acumularAveria;

//Constructor

public Coche(String parametro1,String parametro2){
MiMarca = parametro1;
MiModelo = parametro2;
}
public Coche(int id1){
MiMotor = new Motor(id1);
}

//Getter

public String getMiMarca(){
return MiMarca;
}
public String getMiModelo(){
return MiModelo;
}

//Acumular Averia.
public void setacumularAveria(){
acumularAveria = 0.0;
}

}

y aqui me he quedado pillao.

gracias a todos

un saludo
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

problema java para un novato

Publicado por Hola quiza te sirva de algo la ayuda (4 intervenciones) el 12/03/2012 20:35:52
açahi te envio algo quiza te sirva
tu clase motor
y aqui las otras
public class Coche {

//Declaramos Atributos
private Motor MiMotor;
private String MiMarca;
private String MiModelo;
private double PrecioAveria;

//Constructor

public Coche(String parametro1,String parametro2){
MiMarca = parametro1;
MiModelo = parametro2;
MiMotor = new Motor(0.0);
}

//Getter
public Motor getMotor(){
return MiMotor ;
}

public String getMiMarca(){
return MiMarca;
}
public String getMiModelo(){
return MiModelo;
}
public double getPrecioAveria(){
return PrecioAveria;
}

//Setter para el motor
public void setMotor(Motor motor){
this.MiMotor=motor;
}

//Aqui vien el metodo para Acumular Averia.

public void AcumularAveria(double valorAveria){
this.PrecioAveria +=valorAveria ;
}
//Mostrar Coche
public void MostrarCoche(){
System.out.println("Marca: "+this.MiMarca+"\nModelo: "+this.MiModelo);
System.out.println("Precio Averia: "+this.PrecioAveria+"\nModelo: "+this.MiMotor.getLitros());
}
}

//clase garage

public class Garage{

//Atributos
private Coche MiCoche;
private String DescripcionAveria;
private int NumeroCoches;

//contructor
public Garage(){
this.MiCoche=null;
this.DescripcionAveria="";
this.NumeroCoches=0;
}

//Control que el coche solo atienda uno a cada momento
private boolean Atender(){
if(this.NumeroCoches==0)
return true;//si no hay un coche si se puede atender
else
return false;//si ya hay un coche no c puede atender
}
//Metodo par aceptar coche
public void AceptarCoche(Coche co,String descAveria){
if(Atender()==true){
System.out.println("Podemos Aceptar su Coche");
this.MiCoche=co;
this.DescripcionAveria=descAveria;
if(this.DescripcionAveria.equals("aceite")){//si la descripcion es aceite aumentar en 10 el aceite del motor
int litros=this.MiCoche.getMotor().getLitros();
this.MiCoche.getMotor().setLitros(litros+10);
}
this.MiCoche.AcumularAveria(Math.random()*100);
this.NumeroCoches=1;
}
System.out.println("NO Aceptamos su Coche porque ya estamos atendiendo uno");
}
//metodo para devolver coche
public void DevolverCoche(){
this.NumeroCoches=0;
System.out.println("Hemos devuelto su Coche");
}
}

//clase actividad dos

public class Actividad2{
public static void Main(String Argumentos[]){
Garage garage=new Garage();
Coche coche1=new Coche("Mazda","BT-50");
Coche coche2=new Coche("Ford","F-150 SVT Raptor");
garage.AceptarCoche(coche1,"aceite");
garage.AceptarCoche(coche2,"aceite");
garage.DevolverCoche();
garage.AceptarCoche(coche2,"Sin llantas");
garage.DevolverCoche();
garage.AceptarCoche(coche2,"Puerta rota");
garage.DevolverCoche();
garage.AceptarCoche(coche1,"aceite");
//mostramos la informacion de los coches
coche1.MostrarCoche();
coche2.MostrarCoche();
}
}

no teni a mano un compilador de java pero creo que no abran muchos errores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema java para un novato

Publicado por Javier Arratta (2 intervenciones) el 12/03/2012 21:04:57
Muchas gracias me ha servido de mucha ayuda porque ahora veo mis errores.

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema java para un novato

Publicado por Fernando (4 intervenciones) el 12/03/2012 21:18:39
Si pèro mira lo que esta en la clase actividad2 en el main
no c si sera lo que querias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema java para un novato

Publicado por Fernando (4 intervenciones) el 12/03/2012 22:12:49
Ya sabes cualquier otra cosa o ayuda me la pides al correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar