ArrayIndexOutOfBoundsException在Java中需要使用简单的命令行程序
问题描述:
目标是制作一个程序,其中用户输入一个数字作为命令行参数。输入的整数将与序列中该位置处的斐波那契数相对应,就像数组一样。 错误是ArrayIndexOutOfBoundsException在Java中需要使用简单的命令行程序
异常线程 “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);
}
}
答
你错过传递一个命令行参数,所以你在这里一个例外:
int x = Integer.parseInt(args[0]);
你应该在检查参数之前先检查:
if (args.length>0){
int x = Integer.parseInt(args[0]);
} else {
//print usage
}
+0
解析它之前更多解析为整数检查是否为参数a数字更精确 –
答
如果您正在使用命令行代码,你需要传递的参数如下:
java <ClassName> <arg1>
在你的情况,例如:
java Main 10
你是如何调用PROG – Satya
显示您正在使用的命令行参数... – Coderchu
使用java Main 12调用prog并查看它是否工作 – Satya