线程“main”中出现异常java.lang.ArrayOutOfBoundsException:索引0超出长度0的界限[重复]

qvtsj1bj  于 2023-06-04  发布在  Java
关注(0)|答案(2)|浏览(152)

此问题已在此处有答案

What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it?(24回答)
2天前关闭。
enter image description here
我在上大学,是个编程新手。教授正在教我们Java,但每当我尝试运行她的代码时,都会遇到这个错误。
这是我第二次遇到这个问题了,上次我花了很多时间试图解决它,我甚至不记得我做了什么。有人能帮帮我吗

1yjd4xko

1yjd4xko1#

这是一个很棒的Java教程,关于框架中使用的 exception 机制。
What Is an Exception? (The Java™ Tutorials > Essential Java Classes > Exceptions)
您遇到的错误说明如下。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
    at Programa01.main(Programa01.java:11)

这是由其中一个语句引发的 Exception 引起的。
这里的第一行概述了 Exception 的类型,在本例中为 * ArrayIndexOutOfBoundsException *。
后面是一个消息-可选的,尽管有时会包含相关信息。
在这种情况下,它陈述如下。

  • 索引0超出长度0的界限 *

首先,您需要确定如何定位错误。
错误中的最后一行包括发生错误的行号。
在本例中,它是 .java 文件扩展名之后的 11 行,如括号内所示。

at Programa01.main(Programa01.java:11)

如果查看第11行,您会发现以下代码。

NumInt = Integer.parseInt(args[0]);

这一行有几个 * statements *。
首先,你有 NumInt 赋值。

NumInt =

此外,您还可以调用 Integer#parseInt 方法。

Integer.parseInt()

最后,您可以访问 args 数组。
其中您的语法指定了对索引 0 的解析。

args[0]

由于抛出的 Exception 是一个 ArrayIndexOutOfBoundsException,我们可以假设逻辑从最后一个语句(args 数组访问)传播。
因此,args 数组的index 0 不可访问,因为 argslength 为0-它不包含任何元素。
参数 args 是Java虚拟机在程序启动时提供和填充的参数。
下面是一个关于 * 命令行参数 * 的教程。

由于您使用的是 VSCode,您可以参考以下教程添加 Launch Configurations

  • VisualStudio.com-在VisualStudio代码中调试 *。

如果您需要更多关于添加值的帮助,请随时发表评论。

3zwjbxry

3zwjbxry2#

你应该传递3个参数,因为你的代码需要它们。现在你一个都没有。由于您是通过VSCode IDE启动代码的,因此请尝试通过IDE添加参数:
运行->添加配置...
它将打开 launch.json 文件。将带有参数的行添加到mainClass指定的部分:

"args": ["one","two","three"]

考虑根据代码的逻辑添加适当的参数:integerdouble & string。整个 * launch.json * 应该是一个有效的JSON文件,因此请不要忘记参数周围的逗号和引号,即使它们不是字符串。应该有帮助,祝你好运。

相关问题