Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Ivan9210 en 07 de Marzo 2017, 21:49

Título: constructor in class cannot be applied to given types required java.lan CU00641B
Publicado por: Ivan9210 en 07 de Marzo 2017, 21:49
Hola buena tarde,

Estoy tratando de realizar el ejemplo que se menciona en el tema CU00641B del tutorial básico de java, pero al copiar el código de ejemplo y compilarlo en mi ambiente local, me muestra el siguiente error:

(http://i.imgur.com/lwpGn6h.png)

Esta es la clase de Taxi que tengo actualmente:

Código: [Seleccionar]
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: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor
    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 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

Esta es la clase de Persona que tengo actualmente:

Código: [Seleccionar]
public class Persona{
    private String nombre;
    private String apellidos;
    private int edad;
    private String numeroDocumentoIdentidad;

    public Persona(){
        nombre = "Desconocido";
        apellidos = "Desconocidos";
        edad = 0;
        numeroDocumentoIdentidad = "Desconocido";
    }

    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }

    public void setApellidos(String valorApellidos){
        apellidos = valorApellidos;
    }

    public void setEdad(int valorEdad){
        edad = valorEdad;
    }
    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }
    public String getNombre(){return nombre;}
    public String getApellidos(){return apellidos;}
    public int getEdad(){return edad;}
    public String getNumeroDocumentoIdentidad(){return numeroDocumentoIdentidad;}
}

Espero me puedan apoyar, gracias de antemano por su tiempo!

Saludos.
Título: Re:Error al compilar ejemplo. Java. Relación de uso entre clases. CU00641B
Publicado por: pedro,, en 08 de Marzo 2017, 11:53
Buenas.

El error es debido a que estás intentando crear un Taxi sin pasar ningún parámetro al crearlo, y si te fijas en el constructor de la clase Taxi, el único constructor que tiene esta clase precisa que se le pasen dos String y un int.

Esa línea la podrías cambiar por esta:

Código: [Seleccionar]
vehiculoTaxi = new Taxi ("MDE9876", "centro", 3);
o añadir un constructor que no precise de esos argumentos para crear nuevos taxis.

Código: [Seleccionar]
public Taxi (String valorMatricula, String valorDistrito, int valorTipoMotor) {
        ciudad = "";
        matricula = "";
        distrito = "";
        tipoMotor = 0;
    }

Saludos. ;D
Título: Re:Error al compilar ejemplo. Java. Relación de uso entre clases. CU00641B
Publicado por: Ivan9210 en 09 de Marzo 2017, 18:42
Hola pedro,,

Muchas gracias, es correcto ya pude compilar correctamente:

(http://i.imgur.com/FUaPwCL.png)

Saludos.