Hola,
Adjunto el ejercicio del tema "CU00681B ejemplo enum java tipos enumerados types must not be local" para su corrección:
Objeto Vehiculo:
// EJERCICIO DEL TIPO ENUMERADO
// ----> CU00681B ejemplo enum java tipos enumerados types must not be local.pdf
// clase 1. Objeto Vehículo con un tipo Enumerado con varias marcas.
/**
* Esta clase define un Objeto Vehículo con un tipo Enumerado con varias marcas.<br>
* Ejercicio del Tema "CU00681B ejemplo enum java tipos enumerados types must not be local"
* @author: Lorenzo Fernández Asensio
* @version: 20151116.01
*/
public class Vehiculo_CU00681B {
// Declaración de un Tipo Enumerado
enum MarcaDeVehiculo { FORD, TOYOTA, SUZUKI, RENAULT, SEAT };
// Inicialización de Variables
private String matricula; // matrícula (tipo String)
private MarcaDeVehiculo marca; // marca (tipo MarcaDeVehículo)
/**
* Constructor del Vehículo
* @param matricula El parámetro matricula define la Matrícula del Vehículo
* @param marca El parámetro marca define la Marca del Vehículo
*/
public Vehiculo_CU00681B () {
matricula = "";
marca = null;
}//Cierre del constructor
/**
* Método para establecer la Matrícula del Vehículo
* @param valorMatricula El parámetro valorMatricula define el valor que contendrá la matrícula del Vehículo
*/
public void setMatricula (String valorMatricula) {
matricula = valorMatricula;
} //Cierre del método para establecer la matrícula del Vehículo
/**
* Método para establecer la Marca del Vehículo
* @param valorMarca El parámetro valorMatricula define el valor que contendrá la Marca del Vehículo
*/
public void setMarca (MarcaDeVehiculo valorMarca) {
marca = valorMarca;
} //Cierre del método para establecer la matrícula del Vehículo
/**
* Método para para obtener la Matrícula del Vehículo
* @return La Matrícula del Vehículo
*/
public String getMatricula(){ return matricula; }
/**
* Método para para obtener la Marca del Vehículo
* @return La Marca del Vehículo
*/
public MarcaDeVehiculo getMarca(){ return marca; }
} // Cierre de la clase
Test de Prueba:
// EJERCICIO DEL TIPO ENUMERADO
// ----> CU00681B ejemplo enum java tipos enumerados types must not be local.pdf
// clase 2. Test para crear Objeto Vehículo con un tipo Enumerado con varias marcas.
/**
* Esta clase define un Test para probar el Objeto Vehiculo_CU00681B.<br>
* Ejercicio del Tema "CU00681B ejemplo enum java tipos enumerados types must not be local"
* @author: Lorenzo Fernández Asensio
* @version: 20151116.01
*/
import java.util.Scanner; //Importación de la clase Scanner para intro valores por teclado
public class TestVehiculoTEnum_CU00681B {
public static void main (String [ ] Args) {
// Campos de la clase
// Inicialización de una variable para contener la entrada por teclado
String entradaTeclado = "";
// Inicialización de una variable que controla si es correcta la marca introduccida
boolean marcaIntroOK = false;
// Se crea un objeto de la clase Vehículo_CU00681B
Vehiculo_CU00681B vehiculoMain = new Vehiculo_CU00681B();
//Creación deL objeto Scanner
Scanner entradaEscaner = new Scanner (System.in);
// Se limpia la pantalla de la Consola
System.out.println("\f");
// Se muestra en pantalla un mensaje de incio
System.out.println("Hola. Comenzamos la creación de un Objeto de un Vehículo.");
// Se Solicita la matrícula del Vehículo
System.out.print("Introduzca la Matrícula del Vehiculo: ");
// Invocación un método sobre un objeto Scanner para coger la matrícula introducida por teclado
entradaTeclado = entradaEscaner.nextLine ();
// Se realiza el llamamiento al método de la clase Vehiculo_CU00681B para recoger el valor de la Matrícula
vehiculoMain.setMatricula(entradaTeclado);
// Bucle que se repite miesntras marcaIntroOK = false. es decir, mientras no se introduzca una marca correcta
do {
// Se Solicita la marca del Vehículo
System.out.print("Introduzca una de las siguientes Marcas de Vehiculo (Ford, Toyota, Suzuki, Renault, Seat): ");
// Invocación un método sobre un objeto Scanner para coger la matrícula introducida por teclado
entradaTeclado = entradaEscaner.nextLine ();
// Comprobación de que marca se introduce
// Y se realiza el llamamiento al método de la clase Vehiculo_CU00681B para recoger el valor de la Marca
switch(entradaTeclado.toLowerCase()){
case "ford":
vehiculoMain.setMarca(Vehiculo_CU00681B.MarcaDeVehiculo.FORD);
marcaIntroOK = true;
break;
case "toyota":
vehiculoMain.setMarca(Vehiculo_CU00681B.MarcaDeVehiculo.TOYOTA);
marcaIntroOK = true;
break;
case "suzuki":
vehiculoMain.setMarca(Vehiculo_CU00681B.MarcaDeVehiculo.SUZUKI);
marcaIntroOK = true;
break;
case "renault":
vehiculoMain.setMarca(Vehiculo_CU00681B.MarcaDeVehiculo.RENAULT);
marcaIntroOK = true;
break;
case "seat":
vehiculoMain.setMarca(Vehiculo_CU00681B.MarcaDeVehiculo.SEAT);
marcaIntroOK = true;
break;
default: System.out.println("ERROR EN LA INTRODUCCIÓN DE LA MARCA");
}
} while (marcaIntroOK == false);
// Se muestran en pantalla los atributos del Objeto Vehículo
System.out.println("Los Datos del Vehiculo son: ");
System.out.println("Matrícula: " + vehiculoMain.getMatricula());
System.out.println("Marca: " + vehiculoMain.getMarca());
} // Fin del Main
} // Fin de la Clase
Y tengo una duda. Cuando genero la documentación del Test no me sale el comentario inicial. Por favor, ¿podríais decirme a que es debido?
Porque por mas vueltas que le he dado no encuentro la razón.
Espero vuestros comentarios,
Muchas Gracias,
Saludos,