Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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:
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):
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() + ".");
}
}
-
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,