``public class Mochila {
private static final int pesoMaximo;
private static final int items[][] = {{2,3},{3,4},{4,5},{5,6}};
static{
pesoMaximo=5;
}
private static int mochilaDinamica(int p[][], int capacidad){
int n=p.length;
int i;
int w;
int beneficio[][]=new int[n+1][capacidad+1];
for (i=0;i<=capacidad;i++){
beneficio[0][i]= 0;
}
for(w=1;w<=n;w++){
beneficio[w][0]=0;
}
for(i=1;i<=n;i++){
for(w=1;w<=capacidad;w++){
if(w<p[i-1][i-1]){
beneficio[i][w]=beneficio[i-1][w];
}
else{
if(beneficio[i-1][w]>=beneficio[i-1][w-p[i-1][i-1]]+p[i-1][w]){
beneficio[i][w]=beneficio[i-1][w];
}
else{
beneficio[i][w]=beneficio[i-1][w-p[i-1][i-1]]+p[i-1][w];
}
}
}
}return beneficio[n][capacidad];
}
public static void main(String[] args){
System.out.println("version dinamica:"+ mochilaDinamica(items, pesoMaximo));
}
}
al ejecutar este codigo me lanza este error :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at mochila.Mochila.mochilaDinamica(Mochila.java:38)
at mochila.Mochila.main(Mochila.java:56)
nose que es si me pueden ayudar seria de gran ayuda gracias