Autor Tema: Ejemplo valueof Java convertir un String en tipo enumerado Ejercicio CU00681B  (Leído 3928 veces)

fedegaray

  • Principiante
  • **
  • Mensajes: 81
    • Ver Perfil
Bueno, si que me han hecho estudiar con este pequeño ejercicio. Finalmente encontré la método valueOf() para poder pasar el valor del String ingresado via Scanner y transformarlo en un tipo enum.

Citar
Crea una clase Vehiculo donde definas un tipo enumerado MarcaDeVehiculo cuyos valores posibles serán FORD, TOYOTA, SUZUKI, RENAULT, SEAT. Establece como atributos de la clase matricula (tipo String) y marca (tipo MarcaDeVehiculo) y crea los métodos getters (para obtener) y setters (para establecer el valor) de los atributos. Escribe un pequeño programa de prueba donde verifiques que los métodos funcionan correctamente.

Es correcta la forma en que lo resolví o hay una manera más elegante?

Aquí mi respuesta:

Clase MarcaDeVehiculo
Código: [Seleccionar]
public enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
Clase Vehiculo
Código: [Seleccionar]
public class Vehiculo {
    private String matricula;
    private MarcaDeVehiculo marca;
   
    public Vehiculo () {
        matricula = "";
        marca = null;
    }
   
    public Vehiculo (String valorMatricula, MarcaDeVehiculo valorMarca) {
        matricula = valorMatricula;
        marca = valorMarca;
    }
   
    public void setMatricula (String valorMatricula) {
        matricula = valorMatricula;
    }
   
    public void setMarca (MarcaDeVehiculo valorMarca) {
        marca = valorMarca;
    }
   
    public String getMatricula () {
        return matricula;
    }
   
    public MarcaDeVehiculo getMarca () {
        return marca;
    }
   
}



Clase TestVehiculo

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

public class TestVehiculo {
    public static void main (String [] args) {
        Vehiculo nuevoVehiculo = new Vehiculo ();
        System.out.println ("Ingrese la matrícula del vehículo... ");
        Scanner entrada = new Scanner (System.in);
        nuevoVehiculo.setMatricula(entrada.nextLine());
        System.out.println ("Escriba cúal de las siguientes marcas se corresponde a la del vehículo...");
        System.out.println ("FORD, TOYOTA, SUZUKI, RENAULT, SEAT");
        Scanner entrada2 = new Scanner (System.in);
        String marcaIngresada = entrada2.nextLine();
        MarcaDeVehiculo esteAuto = MarcaDeVehiculo.valueOf(marcaIngresada);
        nuevoVehiculo.setMarca (esteAuto);
        System.out.println ("La matrícula es: " + nuevoVehiculo.getMatricula());
        System.out.println ("La marca del vehículo es: " + nuevoVehiculo.getMarca());
    }
}
« Última modificación: 24 de Abril 2015, 12:31 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola fedegaray el código está bien resuelto

Has aplicado bien valueof y es interesante para otras personas ver este uso

Código: [Seleccionar]
Scanner entrada2 = new Scanner (System.in);
String marcaIngresada = entrada2.nextLine();
MarcaDeVehiculo esteAuto = MarcaDeVehiculo.valueOf(marcaIngresada);
nuevoVehiculo.setMarca (esteAuto);

En la primera línea un String se transforma en el tipo enumerado, y en la segunda línea se usa el tipo enumerado para establecer un atributo para el objeto nuevoVehiculo. Buen ejemplo de aplicación.

Saludos

fedegaray

  • Principiante
  • **
  • Mensajes: 81
    • Ver Perfil
Qué bueno que la investigación haya dado resultado! Valió la pena! muchas gracias!!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".