61
Aprender a programar desde cero / Tipos enumerados (enum) Java en qué se diferencian de tipo String CU00681B
« en: 02 de Agosto 2017, 01:13 »
Hola a todos !!
Paso a dejar el codigo del ejercicio propuesto en la entrega CU00681B del curso básico de programación Java. Realmente es el ejercicio que mas me costó realizar, tuve que reescribir bastante y por poco lo dejo para después de la siguiente entrega. Busqué información y me ayudó mucho usar valueOf() y toString() para escribir un código "aceptable"![Gui�ar ;)](https://aprenderaprogramar.com/foros/Smileys/default/wink.gif)
Desde ya muchas gracias a los cometarios y correcciones que habrá.
Saludos
Metodo main
Clase Vehiculo - uso de enum
Clase usada para el ingreso de los datos, ya usada en ejercicios anteriores
Paso a dejar el codigo del ejercicio propuesto en la entrega CU00681B del curso básico de programación Java. Realmente es el ejercicio que mas me costó realizar, tuve que reescribir bastante y por poco lo dejo para después de la siguiente entrega. Busqué información y me ayudó mucho usar valueOf() y toString() para escribir un código "aceptable"
![Gui�ar ;)](https://aprenderaprogramar.com/foros/Smileys/default/wink.gif)
Desde ya muchas gracias a los cometarios y correcciones que habrá.
Saludos
Metodo main
Código: [Seleccionar]
/**
* Descripción para javadoc antes de la clase. Ejemplo para tipos enumerados
* @author Luis
*/
public class TestEnum {
public static void main (String[ ] Args) {
Vehiculo claseVehiculo = new Vehiculo();
EntradaDeTeclado entrada = new EntradaDeTeclado();
System.out.println ("Por favor introduzca una marca (FORD, TOYOTA, SUZUKI, RENAULT, SEAT) :");
entrada.pedirEntrada();
String marcaVehiculo = entrada.getEntrada();
claseVehiculo.setMarca(marcaVehiculo);
System.out.println ("Por favor introduzca una matrícula:");
entrada.pedirEntrada();
String matriculaVehiculo = entrada.getEntrada();
claseVehiculo.setMatricula(matriculaVehiculo);
System.out.println ("El vehículo ingresado es marca "+claseVehiculo.getMarca()+" y la matrícula es "+claseVehiculo.getMatricula());
} //Cierre del main
} //Cierre de la clase
Clase Vehiculo - uso de enum
Código: [Seleccionar]
/**
* Descripción para javadoc antes de la clase. Clase del ejercicio aprenderaprogramar.com para tipos enumerados
* @author Luis
*/
enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
public class Vehiculo {
String matricula = "";
MarcaDeVehiculo marca;
public Vehiculo(String valor_matricula, String valor_marca){
setMatricula(valor_matricula);
setMarca(valor_marca);
}
public Vehiculo(){
}
public void setMatricula(String valor_matricula) {
matricula = valor_matricula;
}
public void setMarca(String valor_marca) {
marca = MarcaDeVehiculo.valueOf(valor_marca);
}
public String getMarca(){
return marca.toString();
}
public String getMatricula(){
return matricula;
}
} //Cierre de la clase
Clase usada para el ingreso de los datos, ya usada en ejercicios anteriores
Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
// Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
private String entradaTeclado; //Variable de instancia (campo) de la clase
public EntradaDeTeclado () { //Constructor
entradaTeclado="";
// pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
} //Cierre del constructor
public void pedirEntrada () { //Método de la clase
Scanner entradaEscaner = new Scanner (System.in);
entradaTeclado = entradaEscaner.nextLine ();
} //Cierre del método pedirEntrada
public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada
public String getPrimeraPalabra () {
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) { //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
return entradaTeclado.substring(0, i+1); }
}
return entradaTeclado; //Caso de que no se detecte ningún espacio devolvemos lo que haya
} //Cierre del método getPrimeraPalabra
public int getLongitud () { //Método de la clase
return entradaTeclado.length();
} //Cierre del método getLongitud
} //Cierre de la clase