java - 控制台在线程“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);
}
}
解决方案
如果您在执行程序时没有传递参数,args[0]
它会尝试检索参数数组的第一个值,但如果数组为空(因为您没有传递值),则会引发这种异常。
ArrayIndexOutOfBoundsException: 0
表示您试图访问数组中不存在的位置。如果您尝试访问位置 0 并且失败是因为数组为空。
推荐阅读
- sql-server-2012 - 还原数据库窗口不会调整大小
- javascript - 使用 Firebase 函数进行条带订阅结帐 - IntegrationError: stripe.redirectToCheckout
- python - 您好我对这段代码感到困惑,因为纯粹从技术角度来看它应该可以工作
- python - Plotly:如何为等值线图设置颜色条位置?
- google-cloud-platform - GCP 实例组自动扩展意外工作
- html - Angular 2+ - 定期刷新显示的持续时间
- python-3.x - 如何正确地将 XML 标签内容修改反馈给 BeautifulSoup?
- phpstorm - 更改 PhpStorm 中搜索替换框的默认大小
- node.js - nginx反向代理还是nodejs fetch?
- ios - 扩展 UIViewController(s) 以显示 UIAlertController 而无需子类化