斐波那契数列: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
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
把mail改成main吧.
楼主,把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();
}
}
}
谢谢楼上,改掉了
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]);
}
}
}
当类中有main()方法的时候,执行java的命令会启动虚拟机执行类中的main()方法,它是程序的执行入口,即启动了一个线程。JVM在运行这个应用程序的时候,首先调用main()方法,调用的时候不实例化这个类的对象,这也限制这个方法为public static。main()方法不是类必须的,所以在定义一个类的时候,只要类的签名和属性,方法的签名符合规范,在编译的时候是没有问题的,比如一个简单javabean。