Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Baal_30 en 3 Abril 2015, 14:47 PM

Título: Duda con arraylist
Publicado por: Baal_30 en 3 Abril 2015, 14:47 PM
Buenas. Intento introducir números en un arraylist con un for, y no me da ningún error, pero cuando los imprimo por consola me muestra todo asteriscos...

Aquí está el código :

Código (java) [Seleccionar]
public static ArrayList<Integer> numerosCalientes = new ArrayList<Integer>();
public static int[] numSalidos = new int[37];
public static double[] porcentajeNum = new double[37];

//CALCULAR PORCENTAJE Y METERLO EN ARRAY
for(int i = 0 ; i<porcentajeNum.length;i++){
porcentajeNum[i]=(numSalidos[i]*100)/numerosTotal;
}

//CALCULAR NUMEROS CALIENTES Y METERLO EN ARRAYLIST
for(int i = 0; i<numerosCalientes.size();i++){
if(porcentajeNum[i]>4){
Integer numCal = (Integer) i;
numerosCalientes.add(numCal);
}
}


Primero probé sin el parse y poniendo simplemente : numerosCalientes.add(i);
Pero me da el mismo resultado...

Luego para mostrarlo lo hago así (no se si está bien usado el Iterator, no lo he usado casi) :

Código (java) [Seleccionar]
Iterator<Integer> it = numerosCalientes.iterator();
while(it.hasNext()){
System.out.print(it.next()+" - ");
}


Gracias de antemano y un saludo ;)
Título: Re: Duda con arraylist
Publicado por: Usuario Invitado en 3 Abril 2015, 15:15 PM
No necesitas convertir un primitivo a su wrapper cuando lo agregas a una lista o pasas su referencia a un wrapper. Java tiene lo que denomina autoboxing, que es el proceso de convertir un primitivo a su wrapper y viceversa.

Respecto a cómo iterar un List, simplemente hazlo con un foreach:

Código (java) [Seleccionar]
for(Integer current : numerosCalientes) {}
Título: Re: Duda con arraylist
Publicado por: Baal_30 en 8 Abril 2015, 23:03 PM
Hola Gus, perdonar el retraso, pero se me estropeó el disco duro :/

No me di cuenta de que recorría el tamaño el arraylist para meter allí los números, y como la principio es 0, pues ni entraba al for jaja

Pero ahora si mete los números, pero al mostrarlos, me muestra primero los numeros y luego todo asteriscos (*) ¿porque es esto?

Un saludo.
Título: Re: Duda con arraylist
Publicado por: Usuario Invitado en 8 Abril 2015, 23:35 PM
Podrías colocar todo el código, porque a simple vista no puedo ver el fallo para que te imprima astericos  :huh: Es decirm un ArrayList es un array dinámico, arranca con tamaño 0 y va aumentando mientras se ingresen elementos. Por lo que:

Código (java) [Seleccionar]

if(percents[i] > 4) {
    hotNumbers.add(i);
}


Simplemente agrega los los índices de los porcentajes mayores a 4 al ArrayList. Al final, el tamaño del ArrayList será lo mismo que los porcentajes mayores a 4, por lo que no habrán espacios en blanco. Por ésto, no entiendo cómo es posible que imprima asteriscos.
Título: Re: Duda con arraylist
Publicado por: Baal_30 en 8 Abril 2015, 23:49 PM
O-M-G

jajaja Gus no me pegues porfavor, pero me acabo de dar cuenta que son los asteriscos... Para separar los números calientes al mostrarlos, puse un System.out.println("***************************"); para que quedase más bonito, pero como al mostrar los números los mostraba con un print sin "ln", pues no hacía el salto de línea y mostraba los asteriscos a continuación de último número. Y claro, yo me pensaba que era por el bucle de los números, y eran el println con los asteriscos que puse yo  :xD :xD

Es para pegarme...

Gracias y disculpa las molestias :/
Título: Re: Duda con arraylist
Publicado por: Usuario Invitado en 9 Abril 2015, 00:06 AM
Jaja suele pasar xD. No te preocupes colega, no pasa nada.


Un saludo.