El objetivo del siguiente problema es que el estudiante identifique que una clase puede emplearse como parámetro dentro de un método/constructor de otra clase.
Considere las clases: Carro, Análisis :
Clase Carro
- Variables: Cilindrara (double), tipo (enum: campero, automóvil), puertas (int).
- El constructor asigna valores a cada una de las variables.
- Identifique como NetBeans genera los setters y getters automáticamente.
- El constructor tiene dos parámetros Carro.
- Método comparar() imprime la información de los dos carros que se pasan como parámetros (impresión que resulte útil).
La impresión que propongo es una de muchas que se pueden plantear.
package certification1;
public class Carro {
private final double cilindrada;
private final tipo t;
private final int puertas;
public enum tipo{automovil, campero};
public Carro(double cilindrada, tipo t, int puertas){
this.cilindrada = cilindrada;
this.t = t;
this.puertas = puertas;
}
public double getCilindrada() {
return cilindrada;
}
public tipo getT() {
return t;
}
public int getPuertas() {
return puertas;
}
}
package certification1;
public class Analisis {
private Carro c1, c2;
public Analisis(Carro c1, Carro c2){
this.c1 = c1;
this.c2 = c2;
}
public void comparar(){
System.out.println("Información");
System.out.printf("%-13s %-13s %-13s %-13s \n","","Cilindrada", "Tipo", "Num. Puertas");
System.out.printf("%-13s %-13s %-13s %-13s \n","Carro1: ",c1.getCilindrada(),c1.getT(),c1.getPuertas());
System.out.printf("%-13s %-13s %-13s %-13s \n","Carro2: ",c2.getCilindrada(),c2.getT(),c2.getPuertas());
}
}
package certification1;
public class Certification1 {
public static void main(String[] args) {
try{
Carro c1 = new Carro(2000,Carro.tipo.automovil,4);
Carro c2 = new Carro(4500,Carro.tipo.campero,5);
Analisis analisis_comparativo = new Analisis(c1,c2);
analisis_comparativo.comparar();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
No comments:
Post a Comment