Hola buenas noches!
Estoy realizando el ejercicio de ejemplo del tema Pasar objetos como parámetros a un método o constructor Java. Diferenciar objeto y tipo primitivo (CU00642B) y al compilar el código no me genera errores. Sin embargo al intentar crear un objeto de la clase TaxiCond en BlueJ, al introducir los nombres de los objetos Taxi y Persona me aparece Error: cannot find symbol - variable taxi1 y no entiendo porqué.
Aquí les dejo el código de las Clases
De antemano, gracias por la ayuda.
Clase Persona
public class Persona{
private String nombre;
private String apellido;
private int edad;
private boolean casado;
private String dni;
public Persona(){//Constructor 1
nombre = "";
apellido = "";
edad = 0;
casado = false;
dni = "";
}
public Persona (String nombrePersona) {//Constructor 2
nombre = nombrePersona;
edad = 0;
}
//Setters
public void setNombre(String valorNombre){ nombre = valorNombre; }
public void setApellido(String valorApellido){ apellido = valorApellido; }
public void setEdad(int valorEdad){ edad = valorEdad; }
public void setCasado(boolean valorCasado){ casado = valorCasado; }
public void setDni(String valorDni){ dni = valorDni; }
//Getters
public String getNombre(){ return nombre; }
public String getApellido(){ return apellido; }
public int getEdad(){ return edad; }
public boolean getCasado(){ return casado; }
public String getDni(){ return dni; }
}
Clase Taxi
public class Taxi {
private String ciudad;
private String matricula;
private String distrito;
private int tipoMotor; //Tipo de motor asignado a cada objeto taxi. 0 = desconocido, 1 = gasolina, 2 = diesel
//Constructor 1: sin parámetros
public Taxi () {
ciudad = "México D.F.";
matricula = "";
distrito = "Desconocido";
tipoMotor = 0;
}
//Constructor 2: constructor con parámetros
public Taxi (String valorMatricula, String valorDistrito, int valorTipoMotor) {
ciudad = "México D.F.";
matricula = valorMatricula;
distrito = valorDistrito;
tipoMotor = valorTipoMotor;
}
//Setters
public void setMatricula (String valorMatricula) { matricula = valorMatricula; }
public void setDistrito (String valorDistrito) { distrito = "Distrito " + valorDistrito; }
public void setTipoMotor (int valorTipoMotor) { tipoMotor = valorTipoMotor; }
//Getters
public String getMatricula () { return matricula; }
public String getDistrito () { return distrito; }
public int getTipoMotor () { return tipoMotor; }
}
Clase TaxiCond
public class TaxiCond {
private Taxi vehiculoTaxi;
private Persona conductorTaxi;
public TaxiCond (Taxi objetoTaxi, Persona objetoPersona){
vehiculoTaxi = new Taxi (objetoTaxi.getMatricula(), objetoTaxi.getDistrito(), objetoTaxi.getTipoMotor() );
conductorTaxi = new Persona (objetoPersona.getNombre() );
}
//Setter
public void setMatricula (String valorMatricula){
vehiculoTaxi.setMatricula(valorMatricula); }
//Getters
public String getDatosTaxiCond (){
String matricula = vehiculoTaxi.getMatricula();
String distrito = vehiculoTaxi.getDistrito();
int tipoMotor = vehiculoTaxi.getTipoMotor();
String cadenaTipoMotor = "";
if (tipoMotor ==0){ cadenaTipoMotor = "Desconocido"; }
else if (tipoMotor == 1){ cadenaTipoMotor = "Gasolina"; }
else if (tipoMotor == 2){ cadenaTipoMotor = "Diesel"; }
String datosTaxiCond = "El objeto TaxiCond presenta estos datos. Matrícula: " + matricula +
" Distrito: " + distrito + " Tipo de motor: " + cadenaTipoMotor;
System.out.println (datosTaxiCond);
return datosTaxiCond; }
}