Hola, me encuentro desarrollando el ejemplo expuesto en la entrega numero 42 o CU00642B del curso java desde 0 , y resulta que en el momento de intentar relacionar las clases en este caso TaxiCon con Taxi y Persona, la primera siendo quien utiliza a las dos clases seguidas, en el momento de compilar me genera un error el cual me dice lo siguiente:
"constructor Persona in class Persona cannot be applied to given types;
required: no arguments; found:java.lang.String; reason:actual and formal arguments lists differ in length"
por favor si alguien me puede ayudar y me puede dar solucion , quiero seguir con el curso... pero es muy dificil pasarse una leccion tan importante si quiero seguir con el.
Anexo los codigos de las clases TaxiCond, Taxi y Persona respectivamente. de ante mano Gracias por su ayuda! Edwin
Codigo TaxiCond
public class TaxiCond {
private Taxi vehiculoTaxi;
private Persona conductorTaxi;
//Constructor
public TaxiCond (Taxi objetoTaxi, Persona objetoPersona) {
//Creamos un objeto Taxi con los mismos datos del Taxi recibido como parámetro
vehiculoTaxi = new Taxi (objetoTaxi.getMatricula(), objetoTaxi.getDistrito(), objetoTaxi.getTipoMotor() );
//Creamos un objeto Persona con los mismos datos de la Persona recibidos como parámetro
conductorTaxi = new Persona (objetoPersona.getNombre() );
}
public void setMatricula (String valorMatricula) {
vehiculoTaxi.setMatricula(valorMatricula);
}
//Método que devuelve la información sobre el objeto TaxiCond
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;
} //Cierre del método
} //Cierre de la clase
Codigo de la clase Persona
public class Persona{
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String numdoc;
public Persona(){
nombre= "";
apellidos="";
edad=0;
casado=true;
}
public void setNombre(String valNombre){
nombre=valNombre;
}
public String getNombre(){return nombre;}
public void setApellidos(String valApellidos){
apellidos=valApellidos;
}
public String getApellidos(){return apellidos;}
public void setEdad(int valEdad){
edad=valEdad;
}
public int getEdad(){return edad;}
public void setCasado(boolean valCasado){
casado=valCasado;
}
public boolean getCasado(){return casado;}
public void setNumDoc(String valNumDoc){
numdoc=valNumDoc;
}
public String getNumDoc(){return numdoc;}
}
codigo de la clase taxi
public class Taxi { //El nombre de la clase
private String ciudad; //Ciudad de cada objeto taxi
private String matricula; //Matrícula de cada objeto taxi
private String distrito; //Distrito asignado a cada objeto taxi
private int tipoMotor; //tipo de motor asignado a cada objeto taxi. 0 = desconocido, 1 = gasolina, 2 = diesel
//Constructor 1: constructor sin parámetros
public Taxi () {
ciudad = "México D.F.";
matricula = "";
distrito = "Desconocido";
tipoMotor = 0;
} //Cierre del constructor
//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;
} //Cierre del constructor
//Método para establecer la matrícula de un taxi
public void setMatricula (String valorMatricula) {
matricula = valorMatricula; //La matrícula del objeto taxi adopta el valor que contenga valorMatricula
} //Cierre del método
//Método para establecer el distrito de un taxi
public void setDistrito (String valorDistrito) {
distrito = "Distrito " + valorDistrito; //El distrito del objeto taxi adopta el valor indicado
} //Cierre del método
//Método para establecer el tipo de motor de un taxi
public void setTipoMotor (int valorTipoMotor) {
tipoMotor = valorTipoMotor; //El tipoMotor del objeto taxi adopta el valor que contenga valorTipoMotor
} //Cierre del método
//Método para obtener la matrícula del objeto taxi
public String getMatricula () { return matricula; } //Cierre del método
//Método para obtener el distrito del objeto taxi
public String getDistrito () { return distrito; } //Cierre del método
//Método para obtener el tipo de motor del objeto taxi
public int getTipoMotor () { return tipoMotor; } //Cierre del método
} //Cierre de la clase