Hola Alex !! Muchas gracias por tu corrección del ejercicio. Volví a leer la definición de enum y mi error fue confundirlo como una colección de strings cuando realmente es una colección inmodificable de objetos del tipo enum !!!!
Paso a dejar el código ya corregido en la clase Vehiculo
Saludos
Luis
Clase principal - metodo main
/**
* Descripción para javadoc antes de la clase. Ejemplo para tipos enumerados
* @author Luis
*/
public class TestEnum {
public static void main (String[ ] Args) {
Vehiculo claseVehiculo = new Vehiculo();
EntradaDeTeclado entrada = new EntradaDeTeclado();
System.out.println ("Por favor introduzca una marca (FORD, TOYOTA, SUZUKI, RENAULT, SEAT) :");
entrada.pedirEntrada();
String marcaVehiculo = entrada.getEntrada();
claseVehiculo.setMarca(marcaVehiculo);
System.out.println ("Por favor introduzca una matrícula:");
entrada.pedirEntrada();
String matriculaVehiculo = entrada.getEntrada();
claseVehiculo.setMatricula(matriculaVehiculo);
System.out.println ("El vehículo ingresado es marca "+claseVehiculo.getMarca()+" y la matrícula es "+claseVehiculo.getMatricula());
} //Cierre del main
} //Cierre de la clase
Clase Vehiculo
/**
* Descripción para javadoc antes de la clase. Clase del ejercicio aprenderaprogramar.com para tipos enumerados
* @author Luis
*/
enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
public class Vehiculo {
String matricula = "";
MarcaDeVehiculo marca;
public Vehiculo(String valor_matricula, String valor_marca){
matricula=valor_matricula;
setMarca(valor_marca);
}
public Vehiculo(){
}
public void setMatricula(String valor_matricula) {
matricula = valor_matricula;
}
public void setMarca(String valor_marca) {
if (valor_marca.equals("FORD")) {marca = MarcaDeVehiculo.FORD;} else
if (valor_marca.equals("TOYOTA")) {marca = MarcaDeVehiculo.TOYOTA;} else
if (valor_marca.equals("SUZUKI")) {marca = MarcaDeVehiculo.SUZUKI;} else
if (valor_marca.equals("RENAULT")) {marca = MarcaDeVehiculo.RENAULT;} else
if (valor_marca.equals("SEAT")) {marca = MarcaDeVehiculo.SEAT;}
}
public MarcaDeVehiculo getMarca(){
return marca;
}
public String getMatricula(){
return matricula;
}
} //Cierre de la clase
y la clase que sirve para el ingreso de datos
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
// Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
private String entradaTeclado; //Variable de instancia (campo) de la clase
public EntradaDeTeclado () { //Constructor
entradaTeclado="";
// pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
} //Cierre del método pedirEntrada
public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada
public String getPrimeraPalabra () {
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) { //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0, i+1); }
}
return entradaTeclado; //Caso de que no se detecte ningún espacio devolvemos lo que haya
} //Cierre del método getPrimeraPalabra
public int getLongitud () { //Método de la clase
return entradaTeclado.length();
} //Cierre del método getLongitud
} //Cierre de la clase