public class feibonaqie{
public static void main(String[] args){
int n = Integer.parseInt(args[0]);
//feibonaqie t = new feibonaqie();这一句应该就是把feibonaqie这么长的名字用T来替换了,相当与C语言中的typedef
for(int i=1;i<=n;i++){
feibonaqie.print(i);
}
}
public static void print(int n){
int n1 = 1;//第一个数
int n2 = 1;//第二个数
int sum = 0;//和
if(n<=0){
System.out.println("参数错误!");
return;
}
if(n<=2){
sum = 1;
}else{
for(int i=3;i<=n;i++){
sum = n1+n2;
n1 = n2;
n2 = sum;
}
}
System.out.println(sum);
}
}改程序运行后出现这样的问题,我看不明白!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at feibonaqie.main(feibonaqie.java:55)
我点击这个错误后,发现问题出在程序的第三行,我是新手,不知道为什么?
把args[0]的值传进去。
给args[0]的传值。
c的typedef会使得程序很乱,到时自己都忘记是什么了
这个没有传参数 我给你举个例子哈 你就明白这个args[0] 指的是什么了public class Test{
public static void main(String[] args){
for(int i=1;i<=args.length;i++) {
System.out.print(args[i]+" ");
}
}
}
这个在编译的时候你在dos下编译 用javac编译 然后用java命令运行 运行的时候输入 java Test 4 5 2 就可以运行看到输出 4 5 2了java Test 4 5 2 这个 4 5 2 是给数组 args[]
赋值 明白了吧