控制台在“线程”中显示异常;“主要”;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]);
尝试通过向程序传递参数来运行程序它工作正常这是否回答了您的问题?