目标是创建一个程序,用户输入一个数字作为命令行参数。输入的整数将与序列中该位置的斐波纳契数对应,如数组。 错误是
线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:0
public class Main {
public static void main (String[] args)
{
int x = Integer.parseInt(args[0]);
System.out.println(fibonacci(x));
}
public static int fibonacci(int n) {
if(n == 0)
return 0;
else if(n <= 2)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
答案 0 :(得分:4)
您错过了传递命令行参数,因此您在此处获得了一个例外:
int x = Integer.parseInt(args[0]);
你应该先判断参数:
if (args.length>0){
int x = Integer.parseInt(args[0]);
} else {
//print usage
}
答案 1 :(得分:0)
如果使用命令行运行代码,则需要按如下方式传递参数:
java <ClassName> <arg1>
在您的情况下,例如:
java Main 10