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

Ayuda con un ArrayIndexOutOfBoundsException

Estas en el tema de Ayuda con un ArrayIndexOutOfBoundsException en el foro de Java en Foros del Web. Saludos Estoy tratando de implementar el algoritmo de Tabla_diferencias_divididas para luego implementar interpolacion de newton, este es mi algoritmo: Tabla_diferencias_divididas () 1.- Hacer m=n-1 2.- ...
  #1 (permalink)  
Antiguo 15/11/2007, 19:27
 
Fecha de Ingreso: junio-2007
Mensajes: 56
Antigüedad: 17 años, 5 meses
Puntos: 0
Ayuda con un ArrayIndexOutOfBoundsException

Saludos
Estoy tratando de implementar el algoritmo de Tabla_diferencias_divididas para luego implementar interpolacion de newton, este es mi algoritmo:

Tabla_diferencias_divididas ()

1.- Hacer m=n-1
2.- Hacer i=0
3.- Mientras i<=m-1 hacer

4.- Hacer T(i,0) = (y(i+i) - y(i))/(x(i+1]) - x(i));

5.- Hacer i=i+1

6.- Hacer j=1
7.- Mientras j<=m-1 hacer

8.- Hacer i=j
9.- Mientras i<=m-1 hacer

10.- Hacer T(i,j)= (T(i, j-1) - T(i-1, j-1))/(x(i+1)-x(i-j));

11.- Hacer i=i+1

12.- Hacer j=j+1

Este es mi codigo:
donde n = un numero finito de puntos
x[] y y[] son las coordenadas y xvar es el valor a interpolar
me marca un ArrayIndexOutOfBoundsException en el paso 4 de mi algoritmo que vendria siendo donde comenté con //4: en el código

!!Alguien sabe porque me está pasando eso?
public static void newton(int n, double x[], double y[], double xvar){
int m = n-1;
int i = 0;
T = new double[n][n];
while(i<=m-1){
//4: T[i][0] = (y[i+i] - y[i])/(x[i+1] - x[i]);
i+=1;
}
int j = 1;
while(j<=m-1){
i = j;
while(j<=m-1){
i = j;
i+=1;
T[i][j] = (T[i][j-1] - T[i-1][j-1])/(x[i+1]-x[i-j]);
System.out.println(T[i][j]);
}
j+=1;
}
}
  #2 (permalink)  
Antiguo 15/11/2007, 23:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Re: Ayuda con un ArrayIndexOutOfBoundsException

Hola:

Como dice la excepción, es un índice fuera de rango. Eso quiere decir que algunos de los índices de alguno de los array te hace ir a una posición fuera del array. Por ejemplo, si y[] tiene 10 elementos e intentas acceder al y[23] te dará ese error. Es dificil saber cual puesto que no indicas los tamaños de los arrays ni el valor de n.

Recuerda también que los arrays empiezan con indice cero, por lo que si el array tiene 10 elementos, los indices válidos son de 0 a 9.

Se bueno.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
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 13:56.