当前位置: 代码迷 >> Java Web开发 >> exception in thread "main" java.lang.NoSuchMethodError:main
  详细解决方案

exception in thread "main" java.lang.NoSuchMethodError:main

热度:1009   发布时间:2008-04-23 15:43:05.0
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;
         }        
        */
}
搜索更多相关主题的帖子: int  exception  java  main  thread  

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