Autor Tema: Qué significa polimorfismo en Java asignar tipo de dato tipo instancia CU00678B  (Leído 1953 veces)

mary conchis

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 19
    • Ver Perfil
Esta es mi solución al ejercicio CU00678B del tutorial de conceptos básicos de Java. La verdad se me hizo un poco enredado.

Citar
EJERCICIO

La interface Set de Java es implementada por las clases HashSet y TreeSet. Busca información sobre estas clases en la documentación del api Java. Crea un programa Java que haga lo siguiente:

a) Declarar un ArrayList de objetos de tipo Set.

b) Crear un objeto de tipo HashSet para contener Strings y haz que contenga las cadenas “sol”, “luna”, “saturno”.

c) Crear un objeto TreeSet para contener Integers y haz que contenga los números 2, 8, 5.

d) Añade los objetos HashSet y TreeSet como elementos del ArrayList.

e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2.


Código: [Seleccionar]
import java.util.*;
public class polimorfismo
{
    public static void main(String[] args)
    {
    ArrayList<Set> misListas=new ArrayList<Set>();
    HashSet<String> listaHash=new HashSet<String>();
    TreeSet<Integer> listaTree=new TreeSet<Integer>();
   
    listaHash.add("sol");
    listaHash.add("luna");
    listaHash.add("Saturno");
   
    listaTree.add(2);
    listaTree.add(8);
    listaTree.add(5);

    Iterator itHash=listaHash.iterator();
    Iterator itTree=listaTree.iterator();
   
    misListas.add(listaHash);
    misListas.add(listaTree);
   
    for(Set listas:misListas){
        int i=0;
    Iterator<Set> itListas=listas.iterator();
    System.out.println("contenido de la lista("+i+")"+listas);
    int j=0;
    while(itListas.hasNext()){
      System.out.println("objeto("+i+") de la lista("+j+")"+itListas.next());
      j++;
    }
    i++;
}
}
}
« Última modificación: 07 de Agosto 2019, 19:15 por Ogramar »

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Re:java desde cero ejercicio (cu00678b) concepto de polimorfismo
« Respuesta #1 en: 03 de Noviembre 2018, 20:03 »
Hola Mari conchis.

El ejercicio esta bien resuelto y hace lo que se pide.

Solo comentarte un pequeño fallo que se te ha pasado por alto en el código con la variable i . Si esta variable la dejas dentro del bucle siempre estará a cero ok. Aunque la incrementes al salir del while, al entrar en el for se pone a cero.

Citar
     
    Iterator<Set> itListas=listas.iterator();
  int i=0;
    System.out.println("contenido de la lista("+i+")"+listas);
    int j=0;
    while(itListas.hasNext()){
      System.out.println("objeto("+i+") de la lista("+j+")"+itListas.next());
      j++;
    }
    i++; 
}

Esta variable se tiene que iniciar a cero antes de iniciar el for each.
Hay que sacarla del for y a si se incrementara al salir del while. Ok?
Citar
    int i=0;
 for(Set listas:misListas){
   
    Iterator<Set> itListas=listas.iterator();
    System.out.println("contenido de la lista("+i+")"+listas);
    int j=0;
    while(itListas.hasNext()){
      System.out.println("objeto("+i+") de la lista("+j+")"+itListas.next());
      j++;
    }
    i++;
}

Todo correcto.
Un saludo ;).

 

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