Autor Tema: Java mensaje de error cannot find symbol method en ejercicio CU00642B del curso  (Leído 4793 veces)

cigarzonl

  • Principiante
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://cigarzonl1.eshost.com.ar/pagina.html
Hola compañeros tengo un error que dice lo siguiente "cannot find symbol method" en el siguiente código:

 
Código: [Seleccionar]
public class TaxiCond
{
    private Taxi vehiculoTaxi;
    private Persona conductorTaxi;
   
    public TaxiCond (Taxi objetoTaxi, Persona objetoPersona ){
        conductorTaxi = new Persona (objetoPersona.getNombre());
        vehiculoTaxi = new Taxi(objetoTaxi.getMatricula(), objetoTaxi.getDistrito(), objetoTaxi.getTipoMotor());
    }
   
    public void setMatricula(String valorMatricula) {
    vehiculoTaxi.setMatricula(valorMatricula);
    }
   
    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;
   
    }
   
   
}
  para ser mas exactos aca:

Código: [Seleccionar]
  conductorTaxi = new Persona (objetoPersona.getNombre()); y me resalta getNombre y ps no se como solucionarlo. ya he verificado el codigo d la clase persona y no hay errores alli.


gracias por su ayuda.
« Última modificación: 30 de Junio 2016, 15:24 por Alex Rodríguez »
Gracias
:D

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Ereor ejercicio Java (CU00642B)
« Respuesta #1 en: 23 de Junio 2016, 01:25 »
Hola.

Probando la clase con la clase Persona de los ejemplos a mí no me da ningún error.

¿Podrías poner el código de la clase Persona que estés utilizando?

Saludos. ;D



cigarzonl

  • Principiante
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://cigarzonl1.eshost.com.ar/pagina.html
Re:Ereor ejercicio Java (CU00642B)
« Respuesta #2 en: 24 de Junio 2016, 15:16 »
sip Mira mi clase persona.

Código: [Seleccionar]
public class Persona
{
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
 
    public Persona () {
      nombre = "";
      apellido = "";
      edad = 23;
      casado = true;
      numeroDocumentoIdentidad = "";
    }
   
    public Persona (String valorNombre, String valorApellido, int valorEdad, boolean valorCasado, String valorNumeroDocumentoIdentidad ) {
    nombre = "";
    apellido = valorApellido;
    edad = valorEdad;
    casado = valorCasado;
    numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }
   

    public void setNombre (String valorNombre){
    nombre = "nombre es " + valorNombre;
}
    public void setApellido (String valorApellido){
    apellido = valorApellido;
}
    public void setEdad (int valorEdad){
    edad = valorEdad;
}
    public void setCasado (boolean valorCasado){
    casado = valorCasado;
}
    public void setNumeroDocumentoIdentidad (String valorNumeroDocumentoIdentidad){
    numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
}
    public String getNombre () {return nombre;}
    public String getApellido () {return apellido;}
    public int getEdad () {return edad;}
    public  boolean getCasado () {return casado;}
    public String getNumeroDocumentoIdentidad () {return numeroDocumentoIdentidad; }
}

gracias por tu ayuda :D
Gracias
:D

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Ereor ejercicio Java (CU00642B)
« Respuesta #3 en: 24 de Junio 2016, 15:33 »
Buenas.

En la clase persona tienes dos constructores, el primero de ellos no recibe ningún parámetro, por lo cual para usar ese constructor a la hora de crear un objeto Persona nuevo deberías hacerlo de la siguiente formar:

Código: [Seleccionar]
conductorTaxi = new Persona ();
y el segundo constructor requiere cinco parámetros, tendría que ser así:

Código: [Seleccionar]
conductorTaxi = new Persona (objetoPersona.getNombre(), objetoPersona.getApellido(), objetoPersona.getEdad(), objetoPersona.getCasado(), objetoPersona.getNumeroDocumentoIdentidad());
Esas dos las dos formas que aceptaría la clase Persona para crear los objetos nuevos.

Saludos.

cigarzonl

  • Principiante
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://cigarzonl1.eshost.com.ar/pagina.html
Re:Ereor ejercicio Java (CU00642B)
« Respuesta #4 en: 24 de Junio 2016, 15:47 »
umm ya entiendo osea que lo que yo realice fue adjuntale los paramatros de la clase persona lo inicialice en cero o en default.

y no cree  al objeto conductorTaxi por lo que me arroja el error ??




otra duda es para crear un nuevo conductorTaxi se debe poner ambos codigo en que clase (lña clase persona o la clase condTaxi )?

que pena por las molestias.

muchas gacias por tu colaboracion y ayuda :D
Gracias
:D

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola cigarzonl cada vez que quieras crear un objeto tienes que pasarle los parámetros que sean necesarios.

Puedes crear objetos con BlueJ eligiendo la opción "New object", y en ese caso tienes que especificarle los parámetros necesarios para el constructor.

Los objetos también se pueden crear a través de código usando new, y en ese caso tienes que escribir entre paréntesis los parámetros necesarios como te ha explicado Pedro.

Cuando el objeto se crea, lo primero que se ejecuta es el constructor, y los atributos del objeto toman los valores que diga el constructor.

Otra cosa importante: para poder ejecutar este código:  conductorTaxi = new Persona (objetoPersona.getNombre());  tienes que tener creada la clase Persona, si no tienes la clase no puedes llamarla.


Si no te queda claro pon un código que estés probando (todo el código, de todas las clases, no solo una parte) y explica dónde tienes el problema para ayudarte a resolverlo.

Saludos

eduardoc

  • Principiante
  • **
  • Mensajes: 50
    • Ver Perfil
Gracias cigarzonl por abrir el tema ya que tenía el mismo problema.
Gracias pedro,, y Alex Rodríguez por sus respuestas porque ahora pude resolver el error.

A modo de aclaración, "creo que" la confusión se debe a que en la descripción del tema se plantea:
"//Creamos un objeto Persona con los mismos datos de la Persona recibidos como parámetro
        conductorTaxi = new Persona (objetoPersona.getNombre() );     }
"

Mientras que la modificación debería ser:
conductorTaxi = new Persona(objetoPersona.getNombre(), objetoPersona.getApellidos(), objetoPersona.getEdad(), objetoPersona.getCasado(), objetoPersona.getEspecialista());
    }

Si es ex profeso o no, lo desconozco y para mi no tiene mucha importancia ese detalle salvo que ahora me quedó muy claro!!! ;)
O se crea sin parámetros o se incluyen todos, no se puede realizar un new con algunos de los parámetros definidos en el constructor "hijo" (por llamarlo de algún modo)

En serio, muchas gracias porque creo que así se van aclarando la idea ;)

Saludos,
Edu.

 

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".