Autor Tema: Java pedir datos a usuario mediante ventana JOptionPane showInputDialog CU00681B  (Leído 2237 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
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 . ;)
« Última modificación: 05 de Agosto 2019, 21:38 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
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

 

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".