Foros del Web » Programación para mayores de 30 ;) » Java »

Índice de un array

Estas en el tema de Índice de un array en el foro de Java en Foros del Web. Hola, tengo un programa en el que utilizo varios arrays, que emplean como índice un identificador entre 1 y 9. Pero el índice de un ...
  #1 (permalink)  
Antiguo 29/06/2009, 10:05
 
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Índice de un array

Hola,

tengo un programa en el que utilizo varios arrays, que emplean como índice un identificador entre 1 y 9. Pero el índice de un array comienza en 0. ¿Alguien conoce una forma para poder adaptar los dos modelos?

Muchas gracias y un saludo,

Paloma
  #2 (permalink)  
Antiguo 29/06/2009, 10:21
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: Índice de un array

Buenas:

A alguna forma te refieres que puedas referenciar directamente el índice del array a partir del 1, no? Yo sinceramente no la conozco, lo que puedes hacer (si no quieres andar restando uno cada vez que busques en el array, cosa que te recomiendo por eficiencia) es crearte una función para acceder al i-esimo elemento del array, y en esta restas el 1, haciendo transparente para casi todo el código que dicho array empieza en 0 y no en 1 como tu querías. Otra opción es crearte una clase que lo haga, pero me parece excesivo sólo para evitar el restar un elemento.

Saludos.
  #3 (permalink)  
Antiguo 29/06/2009, 10:22
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Índice de un array

entendi, puedes ser un poquito mas especifica
  #4 (permalink)  
Antiguo 29/06/2009, 10:46
 
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Índice de un array

Hola,

efectivamente se trata de lo que dice Squar. El problema es que no entiendo muy bien la solución que propones. ¿Lo podrías explicar un poquito más claro? Trabajar con arrays no es lo mío y estoy bastante perdida en este tema.

Muchísimas gracias por todo y un saludo,

Paloma
  #5 (permalink)  
Antiguo 29/06/2009, 12:25
Avatar de ezefarina  
Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Índice de un array

En mi opinion la respuesta de Squar complejiza un poco el uso de arrays, no me parece que sea la solución mas correcta. En la práctica se suele restar uno al index, de manera que si llega 1, se acceda al elemento cero del array. Por ejemplo

for (int i=1; i<=10;i++)
System.out.println(array[i-1]);
  #6 (permalink)  
Antiguo 29/06/2009, 19:55
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Índice de un array

Cita:
Iniciado por ezefarina Ver Mensaje
En mi opinion la respuesta de Squar complejiza un poco el uso de arrays, no me parece que sea la solución mas correcta. En la práctica se suele restar uno al index, de manera que si llega 1, se acceda al elemento cero del array. Por ejemplo

for (int i=1; i<=10;i++)
System.out.println(array[i-1]);
Hasta donde entendí el problema es sumar 1 a n indice, ejemplo:

Código:
for(int i = 0; i < n; i++){

System.out.println(matriz[i + 1]);
}
De dicha forma llamas sólo los valores del indice diferente de 0.
  #7 (permalink)  
Antiguo 30/06/2009, 07:33
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Índice de un array

Cita:
Iniciado por JairLizcano Ver Mensaje
Hasta donde entendí el problema es sumar 1 a n indice, ejemplo:

Código:
for(int i = 0; i < n; i++){

System.out.println(matriz[i + 1]);
}
De dicha forma llamas sólo los valores del indice diferente de 0.
lo que yo entendi, es que lo que dice ezefarina esta bien por que lo que supongo que quiere hacer palomarp es que el usuario por ejemplo diga que quiere el primer elemento indicandolo explicitamente como "1", pero que internamente haga referencia al primer elemento del arreglo o sea el "0", entonces restandole 1 creo que es la solucion
  #8 (permalink)  
Antiguo 30/06/2009, 10:43
 
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Índice de un array

Hola,

muchas gracias por vuestra ayuda. Ya lo he solucionado siguiendo vuestros consejos y haciendo lo siguiente:

indiceArray = miIndice - 1

Así que cuando mi indice va de 1 a 9, en el array va de 0 a 8.

Un saludo,

Paloma
  #9 (permalink)  
Antiguo 30/06/2009, 10:45
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Índice de un array

La ganaste drac94, un gusto.
  #10 (permalink)  
Antiguo 30/06/2009, 14:01
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: Índice de un array

Buenas:

Saldré en mi defensa :P

Estoy con vosotros, yo tb hubiera puesto el [i-1] pero pensaba que quería no hacer eso cada vez, de ahí las otras propuestas que puse y mi comentario "(si no quieres andar restando uno cada vez que busques en el array, cosa que te recomiendo por eficiencia)".

Siento no haberme explicado con claridad ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.