首页 > 解决方案 > 控制台在线程“main”中显示异常 java.lang.ArrayIndexOutOfBoundsException: 0

问题描述

当我尝试运行和编译我的代码时,控制台显示:

 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at FactorialProgram5.main(FactorialProgram5.java:9)

我无法弄清楚为什么它会这样做,因为我所做的其他代码正在工作。

这是我的代码:

import java.util.Scanner;

public class FactorialProgram5 {
    public static void main(String args[]) {
        long n;
        long fact = 1;

        n = Long.parseLong(args[0]);

        for (int i = 1; i <= n; i++) {
            fact = fact * i;
        }

        System.out.print("fact=" + fact);
    }
}

标签: javaarrayscommand-line-arguments

解决方案


如果您在执行程序时没有传递参数,args[0]它会尝试检索参数数组的第一个值,但如果数组为空(因为您没有传递值),则会引发这种异常。

ArrayIndexOutOfBoundsException: 0表示您试图访问数组中不存在的位置。如果您尝试访问位置 0 并且失败是因为数组为空。


推荐阅读