Autor Tema: CU00678B Ejercicio Curso Java desde 0 Ejemplo Polimorfismo  (Leído 3144 veces)

xBag

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Saludos! Cómo están?

Duré un tiempo para hacer este ejercicio me confundí un poco pero creo que pude resolver y entender mejor. Aquí les dejo el enunciado:


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.



Está bien o que puedo mejorar?

Código: [Seleccionar]
import java.util.*;
public class Polimorfismo {
public static void main (String []args){
ArrayList<Set> aList = new ArrayList<Set>();
HashSet<String> hSet = new HashSet<String>();
hSet.add("sol");
hSet.add("luna");
hSet.add("saturno");
TreeSet<Integer> tSet = new TreeSet<Integer>();
tSet.add(2);
tSet.add(8);
tSet.add(5);
aList.add(hSet);
aList.add(tSet);
Iterator<Set> itSet = aList.iterator();
while (itSet.hasNext()){
for(int i=0;i<itSet.next().size();i++){
System.out.println(aList.get(i));
if (itSet.hasNext()==false)break;
}
}
}
}

Creo que debí usar más iteratores...

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:CU00678B Ejercicio Curso Java desde 0 Ejemplo Polimorfismo
« Respuesta #1 en: 16 de Enero 2015, 15:56 »
Hola xBag

Tu ejercicio da una respuesta, pero no hace todo lo que se pide.

A la hora de mostrar los elementos, solo muestras dos elementos. El primero que contiene tres String y el segundo que contiene tres int

Lo que se pide es que muestres cada String individualmente (para poder hacer algo con él tal vez) y que muestres cada uno de los int (tal vez para poder hacer operaciones aritméticas con ellos)

En tu ejercicio usas el polimorfismo para introducir los elementos en la lista, pero también debes usarlo para mostrarlos.

Lo que has de hacer es lo siguiente:
Cuando entres en el while, al primer elemento que encuentres has de averiguar si es el HashSet o el TreeSet.
Cuando sepas eso, abres ese objeto en otro while interno y con otro Iterator recorres esos elementos para mostrarlos. etc. y así hasta mostrar toda la colección.

Saludos

 

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