Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: manu37 en 28 de Octubre 2017, 09:22

Título: error cannot find symbol - class "Aprender programación Java desde cero CU00641B
Publicado por: manu37 en 28 de Octubre 2017, 09:22
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;
   

   
}
}
Título: Re:error cannot find symbol - class "Aprender programación Java desde cero CU00641B
Publicado por: Alex Rodríguez en 05 de Enero 2018, 14:47
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