Autor Tema: error cannot find symbol - class "Aprender programación Java desde cero CU00641B  (Leído 4203 veces)

manu37

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 32
    • Ver Perfil
Buenos días compañeros,

Estoy estudiando el ejercicio Clase que utilizan objetos, Relación de uso entre clases Java (CU00641B), creo que esta parte es muy importante. Os ruego vuestra ayuda para aclarar unos puntos que no entiendo.

En el código que os paso no compila y me dar unos errores en diferentes líneas 14, 18, 39 y 40. ¿Me podéis decir como lo arreglo?

Gracias por vuestra ayuda.

Código: [Seleccionar]
public class TaxiCond
{
    // instance variables
    private Taxi vehiculoTaxi;
    private Persona conductorTaxi;

   
     // Constructor for objects of class TaxiCond
     
    public TaxiCond()
    {
        vehiculoTaxi = new Taxi();
        conductorTaxi = new 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;
   

   
}
}
« Última modificación: 05 de Enero 2018, 14:47 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola manu37, efectivamente esta parte del curso es importante y conviene entenderla bien.

Una cosa a tener en cuenta es que pueden ser atributos de una clase tipos primitivos como un entero (int), un booleano (boolean), pero también pueden ser atributos objetos como un Medico, una Rueda, o un CombinadorDePalabras.

No voy a analizar todo tu código. Voy a indicar simplemente el primer error que me marca el compilador.

El error es "cannot find symbol - class Taxi".

¿Por qué se produce este error?

Cuando tú declaras un atributo como int edad; el compilador encuentra definido qué es un int en el api de Java. En cambio si declaras un atributo como Taxi vehiculoTaxi; el compilador intenta buscar una clase donde esté definido qué es un objeto Taxi, qué atributos tiene, qué métodos tiene, etc. Pero si no introduces ese código en otra clase no lo encuentra. Por tanto el primer paso que hay que dar es definir todas las clases que van a intervenir para que se encuentren todas las clases que sean necesarias.

En este caso te dice: "no puedo encontrar la clase Taxi" (estás intentando declarar un objeto Taxi como atributo, pero no está el código de la clase Taxi).

Espero sirva de ayuda.

Saludos

 

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