繁体   English   中英

ArrayIndexOutOfBoundsException使用Java中的简单命令行程序需要帮助

[英]ArrayIndexOutOfBoundsException Need aid with a simple command-line program in Java

目标是制作一个程序,用户在其中输入数字作为命令行参数。 输入的整数将与序列中该位置的斐波那契数相对应,例如数组。 错误是

线程“主”中的异常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
}

如果使用命令行运行代码,则需要按以下方式传递参数:

java <ClassName> <arg1>

以您的情况为例:

java Main 10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM