斐波那契数列:1,1,2,3,5,8,13,21…… 
java code:
public class Test{
public static void mail(String[] args){
int a[]=new int[50];
a[0]=1;a[1]=1;
for(int i=3;i<100;i++){
a[i]=a[i-1]+a[i-2];
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[i]);
}
}
}
编译通过,运行出错:Exception in thread "main" java.lang.NoSuchMethodError: main

解决方案 »

  1.   

    为什么找不到main涵数编译也能通过..
      

  2.   

    楼主,做程序是一件很严谨的工作,有时候一点小的疏忽可能让你纠结很久很久,我也跟你一样,加油改变吧\
    把mail改成main吧.
      

  3.   


    楼主,把System.out.println(a[0])和System.out.println(a[1])这两句话放到for语句外面,要不然每次输出都会打印一次a[0]和a[1]的值,另外i应该小于数组的长度a.length,要不然会发生越界,代码改成这样:public class testFibonaccii {
    public static void main(String[] args){
    int[] a=new int[30];
    a[0]=1;
    a[1]=1;
    System.out.println("斐波那契数有:");
    System.out.print(a[0]+" "+a[1]+" ");
    for(int i=2;i<a.length;i++){
    a[i]=a[i-1]+a[i-2];
    System.out.print(a[i]+" ");
    if(i%5==0)
    System.out.println();
    }
    }
    }
      

  4.   

    public class Test{
    谢谢楼上,改掉了
    public static void main(String[] args){
    int a[]=new int[50];
    a[0]=1;a[1]=1;
    System.out.println("a[0]=1");
    System.out.println("a[1]=1");
    for(int i=2;i<50;i++){
    a[i]=a[i-1]+a[i-2];
    System.out.println("a"+"["+i+"]"+"="+a[i]);
    }
    }
    }
      

  5.   

    类中的main方法名字定义错误,定义成public static void main(String arg[])是固定的java规范。
    当类中有main()方法的时候,执行java的命令会启动虚拟机执行类中的main()方法,它是程序的执行入口,即启动了一个线程。JVM在运行这个应用程序的时候,首先调用main()方法,调用的时候不实例化这个类的对象,这也限制这个方法为public static。main()方法不是类必须的,所以在定义一个类的时候,只要类的签名和属性,方法的签名符合规范,在编译的时候是没有问题的,比如一个简单javabean。