Autor Tema: java cannot find symbol method setMatricula java.lang.String ejercicio CU00641B  (Leído 3411 veces)

guillerub2001

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Tengo una duda. En esta entrega (http://tinyurl.com/pbvg2a6) se dice que escribas y compiles el código:

Código: [Seleccionar]
//Ejemplo de clase que utiliza tipos definidos en otras clases (usa otras clases)
public class TaxiCond {

    private Taxi vehiculoTaxi;
    private Persona conductorTaxi;

    //Constructor
    public TaxiCond () {
        vehiculoTaxi = new Taxi (); //Creamos un objeto Taxi con el constructor general de Taxi
        conductorTaxi = new Persona (); //Creamos un objeto Persona con el constructor general de Persona
    }

    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

Perdón, error resuelto

Esta clase utiliza otras dos clases (como se dice en la entrega). Este es el código de ellas:

Código Taxi:

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

Código Persona:

Código: [Seleccionar]
public class Persona {
    private String nombre;
    private int edad;
 
    public Persona (String nombrePersona) {   //CONSTRUCTOR 1
       nombre = nombrePersona;
       edad = 0;     }
   
    public Persona () {   //CONSTRUCTOR2
       nombre = "";
       edad = 0;     }
 
    public String getNombre () { return nombre; }  //Cierre del método
} //Cierre de la clase

Muchas gracias por la ayuda.

EDIT: He conseguido resolver este error, pero me ha aparecido un segundo.

« Última modificación: 17 de Diciembre 2015, 08:48 por Alex Rodríguez »

Enzo

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 82
    • Ver Perfil
Re:Duda del curso aprender Java desde cero: CU00641B
« Respuesta #1 en: 12 de Diciembre 2015, 20:18 »
Hola guillerub2001,

El error que te da es porque estas realizando una llamada a un método llamado setMatricula del objeto Taxi, pero no tienes creado este método en el objeto.
En la clase Taxi solo has creado los métodos getters, pero no los setters.

Créalo y veras como se solucionara el problema,

Animo,

Un Saludo,

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Duda del curso aprender Java desde cero: CU00641B
« Respuesta #2 en: 15 de Diciembre 2015, 19:53 »
Buenas tardes,

El error te da, porque en tu clase Taxi, no aparece ningun procedimiento llamado setMatricula. 

Debes  crearlo en Taxi para poderlo llamar después desde otra clase.

Un saludo.

guillerub2001

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Hola.
Perdonad por responder tarde,
muchísimas gracias a los dos por vuestra respuesta.
Un saludo!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".