Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Falricas en 09 de Diciembre 2017, 08:25

Título: Compiler Warnings: Some messages have been simplified; recompile with CU00681B
Publicado por: Falricas en 09 de Diciembre 2017, 08:25
Hola paso a dejar mi solución al ejercicio de tipos enumerados del curso básico de programación Java de aprenderaprogramar:

Código: [Seleccionar]
package vehiculo;

public class Vehiculo{

    public enum MarcaDeVehiculo {FORD, TOYOTA, SUSUKI, RENAULT, SEAT};
    private String matricula;
    private MarcaDeVehiculo marca;

    public Vehiculo(){
        matricula = "";
        marca = null;
    }

    public void setMatricula(String matricula){
        this.matricula = matricula;
    }

    public void setMarca(MarcaDeVehiculo marca){
        this.marca = marca;
    }

    public String getMatricula(){
        return matricula;
    }

    public MarcaDeVehiculo getMarca(){
        return marca;
    }
}

y el test(por cierto, funcionó sin usar toString() para mostrar los resultados por pantalla): 

Código: [Seleccionar]
import vehiculo.Vehiculo.MarcaDeVehiculo;
import vehiculo.Vehiculo;

public class TestVehiculoEnum{
    public static void main(String[] args){
        Vehiculo miVehiculo = new Vehiculo();
        System.out.println("Los datos del vehiculo son:\nMatricula: " + miVehiculo.getMatricula() + ".\nMarca: " + miVehiculo.getMarca() + ".");
        miVehiculo.setMatricula("ASM-345");
        miVehiculo.setMarca(MarcaDeVehiculo.TOYOTA);
        System.out.println("Los datos del vehiculo son:\nMatricula: " + miVehiculo.getMatricula() + ".\nMarca: " + miVehiculo.getMarca() + ".");
    }
}
Título: Re:(CU00681B) Tipos enumerados
Publicado por: Alex Rodríguez en 14 de Febrero 2018, 21:22
Hola Falricas, ya comentado: los títulos de los temas deben ponerse siguiendo las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Al ejecutar el código que has propuesto me sale el mensaje Compiler Warnings: Some messages have been simplified; recompile with -Xdags:verbose to get full output y además incompatible types: MarcaDeVehiculo cannot be converted to Vehiculo.MarcaDeVehiculo

Para resolverlo he cambiado miVehiculo.setMarca(MarcaDeVehiculo.TOYOTA); por miVehiculo.setMarca(Vehiculo.MarcaDeVehiculo.TOYOTA);

Esto puede estar relacionado con la estructura de paquetes que has usado (yo he puesto las dos clases en el mismo paquete)

El ejercicio está bien resuelto. Como bien comentas se ha mostrado por pantalla la marca sin usar toString() . El método toString() se explica en la CU00694B por lo que dejo que quienes tengan interés lleguen o consulten esa entrega del curso.

Saludos,