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.


Mensajes - betico

Páginas: [1]
1
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00679B
« en: 29 de Mayo 2014, 12:41 »
Hola.

Por lo que he podido ver estoy utilizando la versión Java 6 SE.

Efectivamente, como indicas, asList devuelve un tipo List. Yo había entendido que el tipo debía ser el mismo que el utilizado en el new.

Un saludo y muchas gracias..

2
Buenas tardes.

Otra vez yo por aquí. Siento dar mucho la lata pero hay cosas con las que me atranco y no puedo seguir.

En este caso se trata del ejercicio de la entrega 79. El código que yo he escrito (creo que siguiendo las indicaciones de la explicación) es el siguiente:

Código: [Seleccionar]
        Boolean [] listaBooleanos = {true, true, false, false, true, false};
        LinkedList<Boolean> lista = new LinkedList<Boolean>();
        lista = Arrays.asList(listaBooleanos);

Creo el array, luego creo la LinkedList y luego hago la asignación con el método asList de la clase Arrays. El problema es que me da un error al complilar en la sentencia del asList. El error que me pone es: "incompatible types: no instance(s) of type variable(s) T exist so that java.util.List<T> conforms to java.util.LinkedList<java.lang.Boolean>". Qué significa ese error?

Un saludo.

3
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00678B
« en: 28 de Mayo 2014, 16:07 »
Ok. Aclarado. Muchas gracias.

4
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00678B
« en: 28 de Mayo 2014, 13:52 »
Ok, gracias por tu respuesta y perdona por lo del código. Soy nuevo por aquí y no lo sabia.

En cuanto a la solución que me comentas, esa orientación era la que yo quería conseguir, pero me parecía que el código no era correcto. Me intento explicar.

Yo lo que he entendido sobre iterator es que lo que hacemos es crear una lista copia de la original para poder recorrerla. Pero para ello, en la sentencia debemos especificar el tipo de los elementos contenidos en la lista. En este caso los elementos de it1 son de tipo Set (implementan esa interface) y por lo tanto entiendo la sentencia:

Código: [Seleccionar]
Iterator<Set> it1 = listaObjetos.iterator();
Pero cuando pasamos al siguiente nivel, los objetos listas que estamos tratando tienen objetos de distintos tipos (una lista tiene String y la otra Integer). Por lo tanto, yo creía que el iterator que debíamos crear en ese segundo nivel debería contemplar eso. Pero no veía cómo podía especificar un tipo que pudiese abarcar esos dos.  Para cada uno de ellos por separado, la sentencia sería:

Código: [Seleccionar]
Iterator<String> it2 = listaObjetos.iterator();
o

Código: [Seleccionar]
Iterator<Integer> it2 = listaObjetos.iterator();
Por eso no acabo de entender (a pesar que he comprobado que funciona correctamente) la sentencia:

Código: [Seleccionar]
Iterator<Set> it2 = objetoSet.iterator();
it2 sí es un objeto Set, pero sus elementos no (serán String o Integer, en este caso).

No es fácil de explicar por correo y no sé si te habrá quedado claro cuál es mi duda.

Un saludo y gracias de nuevo.

5
Aprender a programar desde cero / Re:EJERCICIO ENTREGA CU00678B
« en: 28 de Mayo 2014, 13:04 »
Buenas de nuevo.

He probado a incluir la siguiente sentencia dentro del while y he conseguido que se muestren los valores:

          System.out.print(objetoSet);

Lo que no estoy seguro es de si era eso lo que se pretendía ya que lo que yo había entendido es que tanto la lista principal como las internas debían recorrerse con iterator.

Un saludo.

6
Buenas tardes.

Estoy "atascado" con el ejercicio de la entrega CU00678B del curso de Java desde cero. Mi problema es que no sé como puedo recorrer el contenido de los elementos de una lista, siendo dichos elementos a su vez listas de objetos de distinto tipo. He escrito lo siguiente:

            ArrayList<Set> listaObjetos;
       
        HashSet<String> objetosHash;
        objetosHash = new HashSet<String>();
        objetosHash.add("sol");
        objetosHash.add("luna");
        objetosHash.add("saturno");

        TreeSet<Integer> objetosTree;
        objetosTree = new TreeSet<Integer>();
        objetosTree.add(2);
        objetosTree.add( 8) ;
        objetosTree.add(5);       
       
        listaObjetos = new ArrayList<Set>();
        listaObjetos.add(objetosHash);
        listaObjetos.add(objetosTree);
       
        Iterator<Set> it = listaObjetos.iterator();
        while(it.hasNext())
        {
            Set objetoSet = it.next();

        }


pero ya no sé continuar. No sé como recorrer los elementos del objeto objetoSet ya que la primera vez serán objetos String y la segunda Integer.

Un saludo y muchas gracias.

7
Aprender a programar desde cero / Re:ERROR EN EJEMPLO CU00670B?
« en: 27 de Mayo 2014, 17:31 »
Ok. Muchas gracias de nuevo. Ya veo lo que indicas.

En cualquier caso entiendo que la solución que yo daba (Integer.valueOf) también es válida, no? De hecho, puede servir para evitar el tener que crear una variable intermedia para almacenar el valor. En el ejercicio de la entrega 73 yo he hecho lo siguiente para pasar de String a double:

        EntradaDeTeclado entrada = new EntradaDeTeclado();
        circulo.setRadio((double) Integer.valueOf(entrada.getEntrada()));

y parece que funciona correctamente.

Un saludo.

8
Aprender a programar desde cero / Re:ERROR EN EJEMPLO CU00670B?
« en: 27 de Mayo 2014, 16:25 »
Buenas tardes.

Ante todo muchas gracias por tu rápida respuesta.

Te comento el porqué de lo que te ponía. Realizando el ejercicio propuesto en esa entrega yo puse lo siguiente:

        String entradaUsuario = JOptionPane.showInputDialog ("Introduzca un número:");
    int numero = numero.valueOf(entradaUsuario);


para intentar convertir el String que devuelve el método (y que yo almaceno en entradaUsuario) en un entero. Si no he entendido mal, esa es la forma que se indica en el ejemplo al que me refiero y que coincide con lo que tú me has indicado. El problema es que cuando compilo ese código me aparece el mensaje de error "int cannot be dereferenced" y me marca el valueOf. Sin embargo, si sustituyo esa sentencia por:

        int numero = Integer.valueOf(entradaUsuario);

la compilación va sin problemas y el programa actúa como debe. Lo mismo hay algo que no estoy teniendo en cuenta.

Un saludo y muchas gracias.

9
Buenas tardes.

Me podíais confirmar si los ejemplos de la entrega 70 del curso de Java desde 0 referentes al uso del valueOf están correctos? Por ejemplo, el primero aparece como:

miInteger = miInteger.valueOf (i)

No debería ser de esta otra forma?

miInteger = Integer.valueOf (i)

Y lo mismo con el resto.

Un saludo y muchas gracias.

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