Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Javieerg en 03 de Noviembre 2015, 06:02

Título: Cómo crear un método set para un tipo enumerado en Java CU00681B
Publicado por: Javieerg en 03 de Noviembre 2015, 06:02
Hola esta es mi solucion al ejercicio CU00681B, saludos


Clase vehiculo

Código: [Seleccionar]
public class Vehiculo{
   
    private String matricula = "";
    private MarcaDeVehiculo marca;
   

    enum MarcaDeVehiculo{FORD, TOYOTA, SUZUKI, RENAULT, SEAT;}
   
    public void setMatricula(String matricula){
        this.matricula = matricula;
    }
    public void setMarca(String carro){
       
        switch(carro){
            case "ford":
            marca = MarcaDeVehiculo.FORD;break;
            case "toyota":
            marca = MarcaDeVehiculo.TOYOTA;break;
            case "suzuki":
            marca = MarcaDeVehiculo.SUZUKI;break;
            case "renault":
            marca = MarcaDeVehiculo.RENAULT;break;
            case "seat":
            marca = MarcaDeVehiculo.SEAT;break;
            default:
            System.out.println("marca inexistente");
            break;
        }
    }
   
    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){
       
        System.out.println("Elija la marca de vehiculo por favor: (FORD, TOYOTA, SUZUKI, RENAULT, SEAT)");
        Vehiculo auto = new Vehiculo();
        String movil;
        Scanner teclado = new Scanner(System.in);
        auto.setMarca(teclado.nextLine());
        do {
            System.out.println("Cree su matriculo por favor(6 caracteres)");
            movil = teclado.nextLine();
            auto.setMatricula(movil);
        } while(movil.length() != 6);
        System.out.println("La marca que eligio es: "+auto.getMarca()+" con matricula "+auto.getMatricula());
    }
}
Título: Re:Cómo crear un método set para un tipo enumerado en Java CU00681B
Publicado por: Mario R. Rancel en 05 de Noviembre 2015, 09:16
Hola Javier tu código es correcto. Hay un detalle interesante: los métodos set reciben un objeto del tipo que establecen, por ejemplo si es para establecer un String, el set recibe un String. Tu método setMarca es para establecer un tipo Marca pero sin embargo recibe un String. Te recomiendo leer este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=3140.0 y adaptar tu ejercicio para que tu método set reciba una Marca en lugar de un String, en el hilo que te he indicado está la explicación

Saludos