Duda sobre un array en java

Iniciado por elbrujo20, 14 Julio 2015, 06:43 AM

0 Miembros y 2 Visitantes están viendo este tema.

elbrujo20

public static void main(String[] args) {
            int[] arreglo = {1,2,3,4,5};
            for(int i=0; i<(arreglo.length-1);i++){
                if(i<=(arreglo.length-1)){
                   System.out.println(arreglo+arreglo[i+1]);
                }
            }
       
    }
}
Alguien me podria explicar este arreglo lo que pasa es que no entiendo por que da este resultado
3,5,7,9 no entiendo de donde el 7 y el 9 si no esta declarado en el array y si hago las operaciones tampoco sale y ocupo saber el por que por que asi vendra en mi examen lo mas seguro porfavor si alguien me puede ayudar lo unico que entiendo es que ahi hay 6 datos declarados contanto el 0 como se hacen con los arrays
Saludos

Zoik

A ver, imagino que la condición del bucle la entiendes, vayamos a el if:

cumplirá la condición si el contador del bucle es menor o igual a el tamaño del bucle - 1, si se cumple sumará en el primer caso 1 + 2 = 3, 2 + 3 = 5, 3 + 4 = 7 y 4 + 5 = 9.

Un saludo.

Baal_30

Lo que no entiendo yo, es que si pone "arreglo" tal cual, sin índice, ¿que posición coje?
«La suerte es el cuidado de los detalles». -Winston Churchill

Usuario Invitado

Esa condicion ya esta definida en el bucle, no necesitas volverla a definir. Otra cosa, debes sumar i + i+1, no el arreglo en sí. Tu lógica esta mal.

Respecto al porque, es claro, siempre sumas arreglo + arreglo[i + 1]. Veamos caso por caso:

Cuando i = 0, arreglo + arreglo[i+1] = 1 + 2 = 3

Cuando i = 1, arreglo + arreglo[i+1] = 2 + 3 = 5

Cuando i = 2, arreglo + arreglo[i+1] = 3 + 4 = 7

Cuando i = 4, arreglo + arreglo[i+1] = 4 + 5 = 9

En realidad es muy fácil analizar ese algoritmo, debes ser más analítico. Utiliza hojas para hacer gráficos, asi analizarás mejor.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Baal_30

¿Porque cuando i = 0, arreglo = 1?
¿Porque cuando i = 1, arreglo = 2?

Y ¿Porque cuando i = 4, arreglo = 4?
«La suerte es el cuidado de los detalles». -Winston Churchill

Usuario Invitado

Es obvio, arreglo[0] = 1, arreglo[1] = 2, arreglo[2] = 3, etc. Si i vale 3, -> 4 + (4 + 1) = 9.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Baal_30

Sí, sí, eso está claro, lo que no entiendo es "arreglo" tal cual, sin ningún índice, "arreglo" sin "[]"...

Donde  pone :
                   System.out.println(arreglo+arreglo[i+1]);
«La suerte es el cuidado de los detalles». -Winston Churchill

Usuario Invitado

Eso es porque el puto editor te lo reconoce como cursiva xDDD
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein