
problema arreglo en java
Publicado por franciso (3 intervenciones) el 14/01/2016 12:54:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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];
/*relleno la primera fila y primera columna del arreglo beneficio con ceros */
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
Valora esta pregunta


0