Autor
|
Tema: Duda con un array, imprimir sus valores a la inversa. (Leído 15,587 veces)
|
KaRaLLo
|
Hola, intento que la salida de este arreglo se imprima a la inversa con un bucle for pero, llevo rompiendome todo el día la cabeza y no consigo nada. package Boletin9_1;
public class Main {
/** * @param args */ public static void main(String[] args) { double [] numeros=new double [6]; for(int i=0;i<numeros.length;i++){ numeros[i]=Math.floor((Math.random()*50+1)); } for (int x=6;x>=0;x--){ System.out.println(numeros[x]); } } }
Me tira esta excepción. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10 at areglosiniciar.Main.main(Main.java:20) Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds)
|
|
|
En línea
|
Los programadores escriben código aunque sepan que no debería funcionar, pero de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
|
|
|
bewa
Desconectado
Mensajes: 15
|
Hola xD. Posiblemente lo hayas solucionado pero por si acaso. El array tiene 6 casillas: las casillas 0,1,2,3,4,5. Y has inicializado el segundo bucle en 6(x=6), lo tienes que inicializar en 5 porque no existe la casilla 6. for (int x=5;x>=0;x--){ System.out.println(numeros[x]); }
|
|
« Última modificación: 12 Enero 2012, 14:59 pm por bewa »
|
En línea
|
|
|
|
[Case]
|
El error menciona un ArrayIndexOutOfBoundsException, lo que quiere decir es que de alguna forma le estas dando un indice que no se existe. Por lo que donde esta mal es la forma en que recorre el indice. Del ultimo for tienes que corrergirlo así: for (int x=6;x>=0;x--){ System.out.println(numeros[x]); } for (int x=5;x>=0;x--){ System.out.println(numeros[x]); } Esto es por que los indices de un arreglo se comienzan a contar desde el cero, ejemplo: A = [1,2,3,4,5]; donde A.length es 5, pero el index inicial es A[0] = 1 y asi hasta A[4] = 5
|
|
|
En línea
|
|
|
|
|
Debci
Wiki
Desconectado
Mensajes: 2.021
Actualizate o muere!
|
corneliusjesus, deja de ensuciar posts con respuestas insustanciales.
Saludos
|
|
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
También puedes hacer lo siguiente. public class Main{ public static void main (String args []){ new Main(); } public Main(){ double [] numeros=new double [6]; System. out. println("Numeros"); for(int i=0;i<numeros.length;i++){ numeros [i ]=Math. floor((Math. random()*50+1)); System. out. print("["+numeros [i ]+"]"); } System. out. println("\nNumeros invertidos"); for (int x=numeros.length-1;x>=0;x--){ System. out. print("["+numeros [x ]+"]"); } } }
x=numeros.length-1 Saludos.
|
|
|
En línea
|
abc
|
|
|
alexis33de
Desconectado
Mensajes: 56
|
Creo q ya te dieron una buena respuesta, recuerda que el ultimo valor de un array , java no te deja utilizarlo por lo que si quieres imprimir un determinado numero de veces un numero, puedes también declarar tu arreglo con un valor mas al que necesites ejm:
double []numeros=new double [7];
Saludos
|
|
|
En línea
|
|
|
|
KaRaLLo
|
Muchas gracias
|
|
|
En línea
|
Los programadores escriben código aunque sepan que no debería funcionar, pero de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
DEVOLVER VALORES ALEATORIOS DE UNA ARRAY EN C#?????'
.NET (C#, VB.NET, ASP)
|
kanlet
|
0
|
4,616
|
19 Junio 2011, 20:22 pm
por kanlet
|
|
|
Recoger valores binarios en un array
.NET (C#, VB.NET, ASP)
|
sancakoky
|
4
|
3,867
|
13 Noviembre 2011, 01:03 am
por Novlucker
|
|
|
Agregando valores a un array me da problema
.NET (C#, VB.NET, ASP)
|
TrashAmbishion
|
5
|
3,461
|
27 Mayo 2012, 02:44 am
por $Edu$
|
|
|
[Duda] Valores Repetidos en array
Java
|
Slider324
|
2
|
5,348
|
24 Julio 2012, 15:02 pm
por luiggy2
|
|
|
como imprimir valores que tengan zeros al principio
Programación C/C++
|
Erres
|
5
|
4,007
|
8 Octubre 2012, 19:27 pm
por Eternal Idol
|
|