Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - ZSCFCP

Páginas: [1]
1
Buenos días.

Aquí les dejo mi aportación al ejercicio CU00681B para que si pueden lo revisen y me digan sus carencias y como mejorarlo. Muchas gracias por adelantado.

Les pego el código:


clase "Vehiculo":

Código: [Seleccionar]
import javax.swing.JDialog;
import javax.swing.JOptionPane;

/**
 * Clase para identificar un Vehiculo, por su marca (tipo enumerado) y su matricula (tipo String)
 * @author ZSCFCP
 * @version V.1.0
 */
public class Vehiculo
{
    enum MarcaDeVehiculo {FORD,TOYOTA,SUZUKI,RENAULT,SEAT};

    private String matricula;
    private MarcaDeVehiculo marca;

    /** Constructor para objetos de la clase Vehiculo  */
    public Vehiculo(){
        matricula = "";
        marca = MarcaDeVehiculo.SUZUKI;
    }

    // METODOS GETTERS
    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;};   

    // OTROS METODOS.
    public void darMarca (int seleccion) {
        switch (seleccion) {
            case 0: setMarca (MarcaDeVehiculo.FORD); break;
            case 1: setMarca (MarcaDeVehiculo.TOYOTA); break;
            case 2: setMarca (MarcaDeVehiculo.SUZUKI); break;
            case 3: setMarca (MarcaDeVehiculo.RENAULT); break;
            case 4: setMarca (MarcaDeVehiculo.SEAT); break;
            default:  break;
        } // fin del switch
    }   
}


Clase "ListaDeVehiculos":

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

/**
 * Clase para gestionar una Lista de de objetos tipo Vehiculos dentro de una ArrayList.
 *
 * @author ZSCFCP
 * @version V.1.0.
 */
public class ListaDeVehiculos
{
    //Declaracion de atributos.
    private ArrayList<Vehiculo> listaDeVehiculos;
   
    /** Constructor de la clase ListaDeVehiculos. */
    public ListaDeVehiculos()   {listaDeVehiculos = new ArrayList<Vehiculo>();}
   
    /** Método para añadir un Vehiculo a la lista. */
    public void addVehiculo(Vehiculo miVehiculo) {listaDeVehiculos.add(miVehiculo);}
   
    /** Método para borrar un Vehiculo de la lista. */
    public Vehiculo removeVehiculo(int posicion)
    {   if (posicion>=0 && posicion<listaDeVehiculos.size())
           {return listaDeVehiculos.remove(posicion);}
        else {return null;}
    }
   
    /** Método para devolver el vehiculo de una posicion dada. */
    public Vehiculo getVehiculo(int posicion)
    {   if (posicion>=0 && posicion<listaDeVehiculos.size())
           {return listaDeVehiculos.get(posicion);}
        else {return null;}
    }
   
    /** Método para devolver el tamaño del ArrayList de Vehiculos. */
    public int tamanhoListaDeVehiculos() {return listaDeVehiculos.size();}
   
    /** Método para listar los Vehiculos de la ArrayList. */
    public void MostrarListaDeVehiculos()
    {
        Iterator <Vehiculo> itV = listaDeVehiculos.iterator();
        Vehiculo tmpV = new Vehiculo();
        int cont = 0;
        while (itV.hasNext())
        {
            tmpV = itV.next();
            System.out.println((++cont) + "\t" + tmpV.getMarca() + "\t" + tmpV.getMatricula());
        }
    }
   
}


Clase "TestListaDeVehiculos":

Código: [Seleccionar]
import javax.swing.JOptionPane;

/**
 * Clase main para que el usuario mantenga el ArrayList de objetos tipo Vehiculo.
 *
 * @author ZSCFCP
 * @version V.1.0.
 */
public class TestListaDeVehiculos
{
    public static void main (String [ ] Args)
    {

        //crear lista de vehiculos
        ListaDeVehiculos miLista = new ListaDeVehiculos();


        //mostrar menu al usuario
        boolean ejecutar = true;
        do {
                Object[] selectionValues = { "Matricular nuevo vehículo",
                                             "Visualizar vehículos matriculados",
                                             "Retirar vehiculo de la lista",
                                             "Salir del programa"};
                String initialSelection  =   "Matricular nuevo vehículo";
                int seleccion = JOptionPane.showOptionDialog(null,
                                                            "Seleccione opcion",
                                                            "MANTENIMIENTO DE VEHICULOS",
                                                            JOptionPane.DEFAULT_OPTION,
                                                            JOptionPane.QUESTION_MESSAGE,
                                                            null,    // null para icono por defecto.
                                                            selectionValues,
                                                            initialSelection);
               
                switch(seleccion) {
                    case 0:
                        Vehiculo miCoche = new Vehiculo();
                        int seleccion2 = JOptionPane.showOptionDialog(null,
                                                     "Seleccione la marca",
                                                     "MANTENIMIENTO DE VEHICULOS",
                                                     JOptionPane.DEFAULT_OPTION,
                                                     JOptionPane.QUESTION_MESSAGE,
                                                     null,
                                                     new Object[] {"FORD", "TOYOTA", "SUZUKI", "RENAULT", "SEAT"},
                                                     "FORD");
                        miCoche.darMarca(seleccion2); //metodo setter del objeto vehiculo.
                        String matricula = JOptionPane.showInputDialog("Introduzca la matrícula del vehiculo:");
                        miCoche.setMatricula(matricula); //metodo setter del objeto vehiculo.
                        miLista.addVehiculo(miCoche); //metodo para añadir del objeto ListaDeVehiculos.
                        break;
                    case 1:
                        if (miLista.tamanhoListaDeVehiculos()>0) {
                            miLista.MostrarListaDeVehiculos();
                        } else {
                            JOptionPane.showMessageDialog(null, "Ups... de momento la lista esta vacia. Deberá matricular algun vehículo antes.",
                            "¡¡¡ATENCION!!!", JOptionPane.WARNING_MESSAGE);     
                        }
                        break;
                    case 2:
                        int size = miLista.tamanhoListaDeVehiculos();
                        if (size==0) {
                            JOptionPane.showMessageDialog(null, "Ups... de momento la lista esta vacia. Deberá matricular algun vehículo antes.",
                                                          "¡¡¡ATENCION!!!", JOptionPane.WARNING_MESSAGE);     
                            break;
                        }
                        String respuesta = JOptionPane.showInputDialog("Introduzca la posicion del vehiculo a retirar de la lista");
                        if (Comunes.isNumeric(respuesta)) {
                            int delPos = Integer.parseInt(respuesta);
                            if (size >= delPos && delPos>0) {
                                miLista.removeVehiculo(delPos-1);
                            } else {
                                JOptionPane.showMessageDialog(null, "Debe introducir un numero de posición válido",
                                                              "¡¡¡ATENCION!!!", JOptionPane.WARNING_MESSAGE);
                            }                           
                        } else {
                            JOptionPane.showMessageDialog(null, "Debe introducir un numero de posición válido",
                                                          "¡¡¡ATENCION!!!", JOptionPane.WARNING_MESSAGE);

                           
                        }
                        break;
                    case 3:
                        ejecutar = false;
                    default:
                        break;
                    }
        } while (ejecutar);
    }
}


Clase "Comunes":

Código: [Seleccionar]

/**
 * Clase para utilidades comunes
 */
public class Comunes
{
    public Comunes() {}
   
    public static boolean isNumeric(String cadena)
    {
        try {
            Integer.parseInt(cadena);
            return true;
        } catch (NumberFormatException nfe){
            return false;
    }
    }
}

Páginas: [1]

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