Buenas, aquí dejo mi solución al ejercicio. Un poco laborioso lo de averiguar como recoger enum del usuario, supongo que despues compensa que ya queda todo controlado en los valores que tu deseas se entre.
Sin más ahí va.
Clase Enum MarcaDeVehiculo
/**
* Enumeration class MarcaDeVehiculo - Tipos de Vehiculos que podran recogerse
*
* @author Lorenzo31
* @version 09-04-2015
*/
public enum MarcaDeVehiculo { FORD, TOYOTA, SUZUKI, RENAULT, SEAT}
Clase Vehiculo
/**
* Write a description of class Vehiculo here.
*
* @author Lorenzo31
* @version 09-04-2015
*/
public class Vehiculo {
private String matricula;
private MarcaDeVehiculo marcaCoche;
public Vehiculo(){ matricula = ""; }
/**
* Método que establece el valor de matricula
*/
public void setMatricula(String valorMatricula){ matricula = valorMatricula; }
/**
* Método que establece el valor de marcaCoche
*/
public void setMarcaCoche(MarcaDeVehiculo valorMarcaCoche){ marcaCoche = valorMarcaCoche; }
/**
* Metodo que devuelve el valor de @return matricula
*/
public String getMatricula (){ return matricula; }
/**
* Metodo que devuelve el valor de @return marcaCoche
*/
public MarcaDeVehiculo getMarcaCoche (){ return marcaCoche; }
}
Clase GestorVehiculo
import java.util.Scanner;
import java.lang.IllegalArgumentException;
/**
* @Author Lorenzo31
* Esta clase recoge datos de matricula y modelo de un Vehiculo y muestra los resultados
*/
public class GestorVehiculo{
public static void main (String [] args){
Vehiculo coche = new Vehiculo();
boolean modeloValido = false;
System.out.println("Iniciamos el programa ");
//Recoge matricula
System.out.println("Introduce una matricula (String)");
Scanner entrada = new Scanner(System.in);
coche.setMatricula(entrada.nextLine() );
//Recoge modelo
System.out.println("Introduce un nuevo modelo ");
do{
try{
coche.setMarcaCoche(MarcaDeVehiculo.valueOf(entrada.nextLine().toUpperCase()));
modeloValido = true;
}catch(IllegalArgumentException e){ System.out.println("Introduce un modelo válido: FORD, TOYOTA, SUZUKI, RENAULT, SEAT"); }
}while (modeloValido == false);
//Muestra matricula y modelo por pantalla
System.out.println("Matricula: " + coche.getMatricula() + " Modelo " + coche.getMarcaCoche() );
System.out.println("Final del programa");
}
}