Autor Tema: Java diferencia entre tipo estático y dinámico List y ArrayList ejemplo CU00920C  (Leído 2291 veces)

fmartinez25

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Hola a todos. A continuación añado mi implementación del ejercicio CU00920C del curso gratuito de programación Java avanzada de aprenderaprogramar. Para clarificar el código, he optado por crear un método en la clase principal para recorrer e imprimir los resultados.


Clase Cuadrupedo

Código: [Seleccionar]
package cu00920c.ejercicio;

public class Cuadrupedo {
    private int idCuadrupedo;
    private String tipo;
   
    public Cuadrupedo(int idCuadrupedo, String tipo){
        this.idCuadrupedo=idCuadrupedo;
        this.tipo=tipo;
    }
    public void setId(int id){idCuadrupedo=id;}
    public void setTipo(String tipo){this.tipo=tipo;}
    public int getId(){return idCuadrupedo;}
    public String getTipo(){return tipo;}
    @Override
    public String toString(){return "Cuadrúpedo-> ID: "+idCuadrupedo+" Tipo: "+tipo;}
}


Clase principal

Código: [Seleccionar]
package cu00920c.ejercicio;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;

public class CU00920CEjercicio {

    public static void main(String[] args) {
        List<Cuadrupedo> lista = new ArrayList<Cuadrupedo>();
        String[] tipos = {"Leon", "Gato", "Perro", "Elefante"};
        Random rnd = new Random();
        for (int i=1;i<=10000;i++){
            lista.add(new Cuadrupedo(i,tipos[rnd.nextInt(4)]));
        }
        recorrerLista(lista);
    }
    //Método para recorrer e mprimir la lista de cuadrúpedos
    private static void recorrerLista(List<Cuadrupedo> lista){
        int leones=0, gatos=0, perros=0, elefantes=0;
        Iterator<Cuadrupedo> it =lista.iterator();
        Cuadrupedo tmp=null;
        String tipo;
        while(it.hasNext()){
            tmp = it.next();
            tipo=tmp.getTipo();
            if (tmp.getId()%1000==0){System.out.println(tmp);}
            switch (tipo) {
                case "Leon":
                    leones++;
                    break;
                case "Gato":
                    gatos++;
                    break;
                case "Perro":
                    perros++;
                    break;
                default:
                    elefantes++;
                    break;
            }
        }
        System.out.println("\nResumen: hay "+leones+" Leones, "+gatos+" Gatos, "+perros+" Perros y "+elefantes+" Elefantes");

    }
}
« Última modificación: 08 de Junio 2018, 21:59 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, veo el ejercicio bien resuelto. Implementar la clase y por otro lado la ejecución en el main es lo más correcto para resolverlo (preferible a hacerlo todo en una sola clase).

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