Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jotase1507 en 23 de Febrero 2015, 01:52
-
Buenas noches, ingreso mi codigo para su revision. :)
Clase Vehiculo
/**
* 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
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)
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());
}
}
-
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