Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jotase1507 en 23 de Febrero 2015, 01:52

Título: Ejemplo Tipos enumerados (enum) Java Ejercicio CU00681B
Publicado por: jotase1507 en 23 de Febrero 2015, 01:52
Buenas noches, ingreso mi codigo para su revision. :)

Clase Vehiculo
Código: [Seleccionar]
/**
 * Esta clase se encarga de asignar valores de Marca (Ya determinadas) y Matricula
 * @author Juan Calderon
 * @version 22/2/2014
 */
public class Vehiculo {
   
    enum MarcaDeVehiculo {
        FORD, TOYOTA, SUZUKI, RENAULT, SEAT
    }
   
    /**
     * En el constructor se inicializa la variable matricula.
     */
    private String matricula;
    private MarcaDeVehiculo marca;   
    public Vehiculo(){
        matricula = "";
    }
   
    /**
     * Este metodo devuelve el valor asignado a la variable matricula.
     * @return Un string con el valor asignado.
     */
   
    public String getMatricula() {
        return matricula;
    }
     /**
      * Este metodo asigna un valor a la variable matricula.
      * @param valorMatricula es el asignado por el usuario.
      */
   
    public void setMatricula (String valorMatricula) {
        matricula = valorMatricula;
    }
   
    /**
     * Este metodo devuelve alguno de los valores pre-definidos en la clase enum.
     * @return El valor asignado convertido en String.
     */
   
    public String getMarcaDeVehiculo() {
        return marca.toString();
    }
   
    /**
     * Este metodo asigna alguno de los valores pre-definidos en la claes enum, que son (FORD, TOYOTA, SUZUKI, RENAULT, SEAT)
     * @param valorMarca sera el elegido por el usuario.
     */
   
    public void setMarcaDeVehiculo(String valorMarca) {
        switch (valorMarca) {
            case "FORD":    marca = marca.FORD;     break;
            case "TOYOTA":  marca = marca.TOYOTA;   break;
            case "SUZUKI":  marca = marca.SUZUKI;   break;
            case "RENAULT": marca = marca.RENAULT;  break;
            case "SEAT":    marca = marca.SEAT;     break;
        }
    }
}

Clase EntradaDeTeclado
Código: [Seleccionar]
import java.util.Scanner;

/**
 * Esta clase solicita y devuelve datos ingresados por el usuario.
 * @author Juan Calderon
 * @version 16/02/2015 A
 */

public class EntradaDeTeclado {
   
    private String entradaTeclado;
   
    public EntradaDeTeclado ()  {
        entradaTeclado = "";
    }
    /**
     * Solicita ingreso de datos al usuario
     */
   
    public void pedirEntrada(){
        Scanner entradaScanner = new Scanner(System.in);
        entradaTeclado = entradaScanner.nextLine();
    }
    /**
    * Devuelve datos ingresados por el usuario.
    * @return datos ingresados por el usuario.
    */
   
    public String getEntrada () {
        return entradaTeclado;
    }
}

Clase Prueba (donde se encuentra el main)
Código: [Seleccionar]
public class Prueba {
    public static void main(String[] args) {
        System.out.println("Inicia el programa.");
        System.out.println("Se le solicitara ingresar informacion.");
        Vehiculo auto = new Vehiculo();
        EntradaDeTeclado entrada1 = new EntradaDeTeclado();
        EntradaDeTeclado entrada2 = new EntradaDeTeclado();
        while (entrada1.getEntrada().isEmpty()) {
            System.out.println("Debe ingresar una de las Marcas disponibles. (FORD, TOYOTA, SUZUKI, RENAULT, SEAT)");
            entrada1.pedirEntrada();
            auto.setMarcaDeVehiculo(entrada1.getEntrada().toUpperCase());
        }
        while (entrada2.getEntrada().isEmpty()) {
            System.out.println("Debe ingresar una Matricula.");
            entrada2.pedirEntrada();
            auto.setMatricula(entrada2.getEntrada().toUpperCase());
        }
        System.out.println("Marca: " + auto.getMarcaDeVehiculo().toUpperCase());
        System.out.println("Matricula: " + auto.getMatricula().toUpperCase());
    }
}
Título: Re:Solucion Ejercicio CU00681B - Tipos enumerados (enum) Java
Publicado por: toni_apr en 23 de Febrero 2015, 21:09
Hola jotase

Tu ejercicio está muy bien.

Veo que has modificado la clase EntradaDeTeclado para que se adapte a tu forma de usarla en lugar de adaptarte tu a la clase. Bien.

A destacar la creación de un main escueto que da órdenes a los objetos para que hagan el trabajo con sus métodos. Muy bien.

Saludos