Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制台在“线程”中显示异常;“主要”;java.lang.ArrayIndexOutOfBoundsException:0_Java_Arrays_Command Line Arguments - Fatal编程技术网

控制台在“线程”中显示异常;“主要”;java.lang.ArrayIndexOutOfBoundsException:0

控制台在“线程”中显示异常;“主要”;java.lang.ArrayIndexOutOfBoundsException:0,java,arrays,command-line-arguments,Java,Arrays,Command Line Arguments,当我尝试运行和编译代码时,控制台显示: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at FactorialProgram5.main(FactorialProgram5.java:9) 我不明白它为什么这样做,因为我做的其他代码正在工作 这是我的密码: import java.util.Scanner; public class FactorialProgram5

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

 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);
    }
}
import java.util.Scanner;
公共类阶乘程序5{
公共静态void main(字符串参数[]){
长n;
长事实=1;
n=Long.parseLong(args[0]);

对于(int i=1;i如果在执行程序时未传递参数,
args[0]
它会尝试检索参数数组的第一个值,但如果数组为空(因为未传递值),则会引发此类异常


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

因为您运行程序时没有向其传递参数。args数组为空,并且当您尝试执行ge时t获取IndexOutOfBoundException的空数组的第0个元素 下一行需要一个参数

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


尝试通过向程序传递参数来运行程序

它工作正常这是否回答了您的问题?