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 :
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) :
Iterator<Integer> it = numerosCalientes.iterator();
while(it.hasNext()){
System.out.print(it.next()+" - ");
}
Gracias de antemano y un saludo ;)
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:
for(Integer current : numerosCalientes) {}
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.
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:
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.
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 :/
Jaja suele pasar xD. No te preocupes colega, no pasa nada.
Un saludo.