breadbread 发表于 2008-4-23 15:43

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;
                 }               
                */
}

菜鸟也疯狂 发表于 2008-4-23 19:48

main方法名的问题,应该是public static void main(String[] args)
Java 的主方法名写法跟C的不一样.

页: [1]

编程论坛