Java 访问参数时ArrayIndexOutOfBoundsException

Java 访问参数时ArrayIndexOutOfBoundsException,java,Java,当我运行此代码时: public class Calc2 { public static void main(String[] args) { double result; result = Double.parseDouble(args[0]) + Double.parseDouble(args[1]); System.out.print(result); } } 我明白了: Exception in thread "main"

当我运行此代码时:

public class Calc2 {
    public static void main(String[] args) {
        double result;
        result = Double.parseDouble(args[0]) + Double.parseDouble(args[1]);
        System.out.print(result);
    }
}
我明白了:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at Calc2.main(Calc2.java:4)

您收到此错误消息是因为
args
数组的长度比您要访问的位置短。正如其他答案所提到的,您可能没有发送命令行参数,或者可能只发送一个,当您尝试访问第二个(
args[1]
)时,您会收到数组索引越界异常

您可以做的最好的事情是在访问值之前检查数组的长度,或者甚至在
for
指令中迭代,直到达到数组的长度为止

使用此说明打印值:

for(int i=0; i< arr.length;i++)
{
    System.out.print(Double.parseDouble(args[i]));
}
for(int i=0;i

如果它没有显示任何内容,那是因为您没有将参数传递给程序。

发布错误,而不是错误的截图。请看:这是完整图像,上面显示ArrayIndexOutofBoundsReception。这是个大线索。看第4行。在索引0和索引1处访问args数组两次。也许args不具备你所认为的功能。花时间学习如何使用调试器。你没有抓住要点:使用“复制和粘贴”将错误以文本形式发布。图像没有用处。如何解决它then@omarwael我已经更新了我的答案,你可以检查我很抱歉,因为我是初学者,所以在哪里,但它