Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: paramonso en 12 de Octubre 2018, 10:55

Título: Java pedir datos a usuario mediante ventana JOptionPane showInputDialog CU00681B
Publicado por: paramonso en 12 de Octubre 2018, 10:55
Hola. Dejo el Ejercicio CU00681B del tutorial pdf de fundamentos de programación orientada a objetos. Tipos enumerados (enum) Java. Error enum types must not be local.


Clase Vehiculo
Código: [Seleccionar]

/**
 * EjercicioCU00681B enum tipos enumerados
 *
 * @author paramonso
 * @version 1.1
 */

public class Vehiculo
{
    public enum MarcaDeVehiculo{FORD,TOYOTA,SUZUKI,RENAULT,SEAT};
    String matricula;
    MarcaDeVehiculo marca;
    /**
     * Constructor 
     */
    public Vehiculo()
    {
        matricula="";
        marca=null;

    }
    //metodos setters
    public void setMatricula (String matricula ) {
        this.matricula= matricula;
    } 

    public void setMarca(MarcaDeVehiculo marca){
        this.marca=marca;
    }
    //metodos setters
    public String getMatricula(){
        return this.matricula;
    }

    public MarcaDeVehiculo getMarca(){
        return this.marca;
    }

   
}

Clase TestVehiculo

Código: [Seleccionar]
import javax.swing.JOptionPane; // Pedir datos por ventana
 
public class TestVehiculo
{
    public static void main (String[ ] Args)
    {

        String entradaUsuario;
        String matricula,fabricante;
        boolean correcto=false;
        Vehiculo coche=new Vehiculo();
        Vehiculo.MarcaDeVehiculo marca;
        while(correcto==false){
            entradaUsuario = JOptionPane.showInputDialog ( "Introduzca la matricula:" );
            matricula=entradaUsuario;
            entradaUsuario = JOptionPane.showInputDialog ( "Introduzca la Marca de Vehiculo\nla marca ha de ser\n(FORD,TOYOTA,SUZUKI,RENAULT,SEAT) :");
            fabricante=entradaUsuario.toUpperCase();

            for(Vehiculo.MarcaDeVehiculo d: Vehiculo.MarcaDeVehiculo.values()){
                if(d.toString().equals(fabricante)){
                    marca=d;

                    coche.setMatricula(matricula);
                    coche.setMarca(marca);

                    correcto=true;

                    System.out.print( "La marca de coche es :"+coche.getMarca()+"\nMatricula "+coche.getMatricula() );
                }

            }
            if(correcto!=true)
            {
                System.out.print("No ha introducido un valor correcto para la marca del Vehiculo\n");

            }
        }
    }
}

GRacias . ;)
Título: Re:Java pedir datos a usuario mediante ventana JOptionPane showInputDialog CU00681B
Publicado por: Ogramar en 05 de Agosto 2019, 21:39
Buenas, para quien revise este ejercicio, funciona correctamente. Es también un ejemplo de uso de JOptionPane para pedir datos a través de una ventana (aunque esto no se trabaja en el curso, donde básicamente se utiliza la consola, por tanto no es requisito el uso de ventanas).

Salu2