exception in thread "main" java.lang.NoSuchMethodError:main
代码如下:它编译通过了,但它报如题所示的错误:/*0-1背包问题(三)*/
import java.awt.*;
import java.util.*;
public class forbag
{
public void main()
{
forbag l=new forbag();
int c=10;
int v[]={0,6,3,5,4,6};
int w[]={0,2,2,6,5,4};
int [][]m=new int[5][11];
for(int i=1;i<=5;i++)
for(int j=0;j<=10;j++)
{
m[i][j]=0;
}
l.knapsack(v,w,c,m);
}
public static void knapsack(int []v,int []w,int c,int [][]m)
{
int n=v.length-2;//n=5
int jmax=Math.min(w[n]-1,c);
for(int j=0;j<=jmax;j++)
m[n][j]=0;
for(int j=w[n];j<=c;j++)
m[n][j]=v[n];
for(int i=n-1;i>1;i--){
jmax=Math.min(w[i]-1,c);
for(int j=0;j<=jmax;j++)
m[i][j]=m[i+1][j];
for(int j=w[i];j<=c;j++)
m[i][j]=Math.max(m[i+1][j],m[i+1][j-w[i]]+v[i]);
}
m[1][c]=m[2][c];
if(c>=w[1])
m[1][c]=Math.max(m[1][c],m[2][c-w[1]]+v[1]);
for(int i=1;i<=5;i++)
for(int j=0;j<=10;j++)
{System.out.print(m[i][j]);
}
}
/* public static void traceback(int [][]m,int []w,int c,int []x)
{
int n=w.length-1;
for(int i=1;i<n;i++)
if(m[i][c]==m[i+1][c]) x[i]=0;
else {x[i]=1;
c-=w[i];
}
x[n]=(m[n][c]>0)?1:0;
}
*/
}