此问题已在此处有答案:
What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it?(24回答)
2天前关闭。
enter image description here
我在上大学,是个编程新手。教授正在教我们Java,但每当我尝试运行她的代码时,都会遇到这个错误。
这是我第二次遇到这个问题了,上次我花了很多时间试图解决它,我甚至不记得我做了什么。有人能帮帮我吗
此问题已在此处有答案:
What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it?(24回答)
2天前关闭。
enter image description here
我在上大学,是个编程新手。教授正在教我们Java,但每当我尝试运行她的代码时,都会遇到这个错误。
这是我第二次遇到这个问题了,上次我花了很多时间试图解决它,我甚至不记得我做了什么。有人能帮帮我吗
2条答案
按热度按时间1yjd4xko1#
这是一个很棒的Java教程,关于框架中使用的 exception 机制。
What Is an Exception? (The Java™ Tutorials > Essential Java Classes > Exceptions)
您遇到的错误说明如下。
这是由其中一个语句引发的 Exception 引起的。
这里的第一行概述了 Exception 的类型,在本例中为 * ArrayIndexOutOfBoundsException *。
后面是一个消息-可选的,尽管有时会包含相关信息。
在这种情况下,它陈述如下。
首先,您需要确定如何定位错误。
错误中的最后一行包括发生错误的行号。
在本例中,它是 .java 文件扩展名之后的 11 行,如括号内所示。
如果查看第11行,您会发现以下代码。
这一行有几个 * statements *。
首先,你有 NumInt 赋值。
此外,您还可以调用 Integer#parseInt 方法。
最后,您可以访问 args 数组。
其中您的语法指定了对索引 0 的解析。
由于抛出的 Exception 是一个 ArrayIndexOutOfBoundsException,我们可以假设逻辑从最后一个语句(args 数组访问)传播。
因此,args 数组的index 0 不可访问,因为 args 的 length 为0-它不包含任何元素。
参数 args 是Java虚拟机在程序启动时提供和填充的参数。
下面是一个关于 * 命令行参数 * 的教程。
由于您使用的是 VSCode,您可以参考以下教程添加 Launch Configurations。
如果您需要更多关于添加值的帮助,请随时发表评论。
3zwjbxry2#
你应该传递3个参数,因为你的代码需要它们。现在你一个都没有。由于您是通过VSCode IDE启动代码的,因此请尝试通过IDE添加参数:
运行->添加配置...
它将打开 launch.json 文件。将带有参数的行添加到mainClass指定的部分:
考虑根据代码的逻辑添加适当的参数:integer,double & string。整个 * launch.json * 应该是一个有效的JSON文件,因此请不要忘记参数周围的逗号和引号,即使它们不是字符串。应该有帮助,祝你好运。