我运行这个java代码时发现了这个错误

时间:2015-06-03 05:46:56

标签: java

for(int i = 0; i < randomNumber.nextInt(deck.numberCards); i++){
    etc...
}

显示错误如下:

  

线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:0           在Factorial.main(factorial.java:5)

3 个答案:

答案 0 :(得分:0)

您应该使用命令行参数运行此代码:

args.length > 0

此外,为了让您的程序更加用户友好,我建议您在尝试访问args[0]之前检查lag()

答案 1 :(得分:0)

使用以下代码

class Factorial {
    public static void main(String args[]) {
      if(args[0].length > 0) {
        int num=Integer.parseInt(args[0]);
        int result=1;
        while(num>0)
        {
            result=result*num;
            num--;
        }
        System.out.println("Factorial of Given Number is :" +result);
     } else {
      System.out.println("Your message requesting a number");
     }
    }
}

使用参数运行程序。

Ex: java Factorial 5

如果您不解析任何参数,将打印“您的请求号码的消息”。

答案 2 :(得分:0)

确保在执行程序时传递的参数如下:

 java fact 10