Hola de nuevo.
Dejo aquí mi respuesta al ejercicio propuesto en la entrega CU00681B de Aprender programación Java desde cero.
Clase Vehiculo:
public class Vehiculo {
enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
private String matricula;
private MarcaDeVehiculo marca;
public Vehiculo () {
matricula = "desconocida";
marca = MarcaDeVehiculo.SUZUKI;
}
public void setMatricula (String valorMatricula) {
matricula= valorMatricula;
}
public void setMarca (String valorMarca) {
String marcaCoche = valorMarca;
if (marcaCoche.equalsIgnoreCase("FORD")) {
marca = MarcaDeVehiculo.FORD;
} else if (marcaCoche.equalsIgnoreCase ("TOYOTA")) {
marca = MarcaDeVehiculo.TOYOTA;
} else if (marcaCoche.equalsIgnoreCase ("SUZUKI")) {
} else if (marcaCoche.equalsIgnoreCase ("RENAULT")) {
marca = MarcaDeVehiculo.RENAULT;
} else if (marcaCoche.equalsIgnoreCase ("SEAT")) {
marca = MarcaDeVehiculo.SEAT;
}
}
public String getMatricula () { return matricula; }
public String getMarca () {
return marca.toString().toLowerCase();
}
}
Clase TestVehiculo:
import java.util.Scanner;
/**
* Clase para comprobar que los métodos de la clase Vehiculo funcionan correctamente. *
* @author Erik Escriche
*/
public class TestVehiculo {
public static void main (String [] args) {
Vehiculo coche = new Vehiculo ();
System.out.println ("Datos por defecto: matrícula " + coche.getMatricula () + " y marca " + coche.getMarca() + ".");
System.out.println ("¿Cuál es la matrícula del coche?");
Scanner entrada1 = new Scanner (System.in);
String respuesta = entrada1.nextLine();
coche.setMatricula(respuesta);
System.out.println ("Matrícula actualizada a " + coche.getMatricula() + ".");
System.out.println ("¿Cuál es la marca del coche?");
Scanner entrada2 = new Scanner (System.in);
String respuesta2 = entrada2.nextLine();
while (!respuesta2.equalsIgnoreCase("FORD")&&!respuesta2.equalsIgnoreCase("SUZUKI")&&!respuesta2.equalsIgnoreCase("TOYOTA")&&!respuesta2.equalsIgnoreCase("RENAULT")&&
!respuesta2.equalsIgnoreCase("SEAT")) { System.out.println ("La marca introducida no es una marca válida. Introduzca una marca de las siguientes: FORD, TOYOTA, SUZUKI, RENAULT, SEAT.");
Scanner otraEntrada = new Scanner (System.in);
respuesta2 = otraEntrada.nextLine();
}
coche.setMarca (respuesta2);
System.out.println ("Marca actualizada a " + coche.getMarca() + ".");
}
}
¡Un saludo!