elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda con un array, imprimir sus valores a la inversa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con un array, imprimir sus valores a la inversa.  (Leído 14,214 veces)
KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Duda con un array, imprimir sus valores a la inversa.
« en: 11 Enero 2012, 22:59 pm »

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.

Código:
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.

Código:
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 Desconectado

Mensajes: 15


Ver Perfil
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #1 en: 12 Enero 2012, 01:26 am »

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.

Código:
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]


Desconectado Desconectado

Mensajes: 474



Ver Perfil WWW
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #2 en: 12 Enero 2012, 01:32 am »

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í:

Código:
for (int x=6;x>=0;x--){
System.out.println(numeros[x]);
}

Código:
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

corneliusjesus

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #3 en: 12 Enero 2012, 10:39 am »

Si es correcto
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #4 en: 12 Enero 2012, 15:52 pm »

corneliusjesus, deja de ensuciar posts con respuestas insustanciales.

Saludos
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #5 en: 13 Enero 2012, 19:18 pm »

También puedes hacer lo siguiente.

Código
  1. public class Main{
  2. public static void main(String args[]){
  3. new Main();
  4. }
  5.  
  6. public Main(){
  7. double [] numeros=new double [6];
  8. System.out.println("Numeros");
  9. for(int i=0;i<numeros.length;i++){
  10. numeros[i]=Math.floor((Math.random()*50+1));
  11. System.out.print("["+numeros[i]+"]");
  12. }
  13. System.out.println("\nNumeros invertidos");
  14. for (int x=numeros.length-1;x>=0;x--){
  15. System.out.print("["+numeros[x]+"]");
  16. }
  17. }
  18. }
  19.  

x=numeros.length-1

Saludos.
En línea

abc
alexis33de

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #6 en: 13 Enero 2012, 20:23 pm »

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

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Duda con un array, imprimir sus valores a la inversa.
« Respuesta #7 en: 21 Enero 2012, 14:47 pm »

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DEVOLVER VALORES ALEATORIOS DE UNA ARRAY EN C#?????'
.NET (C#, VB.NET, ASP)
kanlet 0 3,681 Último mensaje 19 Junio 2011, 20:22 pm
por kanlet
Recoger valores binarios en un array
.NET (C#, VB.NET, ASP)
sancakoky 4 2,918 Último mensaje 13 Noviembre 2011, 01:03 am
por Novlucker
Agregando valores a un array me da problema
.NET (C#, VB.NET, ASP)
TrashAmbishion 5 2,387 Último mensaje 27 Mayo 2012, 02:44 am
por $Edu$
[Duda] Valores Repetidos en array
Java
Slider324 2 3,838 Último mensaje 24 Julio 2012, 15:02 pm
por luiggy2
como imprimir valores que tengan zeros al principio
Programación C/C++
Erres 5 2,848 Último mensaje 8 Octubre 2012, 19:27 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines