gpt4 book ai didi

java - 将主要参数传递给方法

转载 作者:行者123 更新时间:2023-12-01 14:51:33 25 4
gpt4 key购买 nike

我正在尝试将字符串参数数组从 main 传递到我的 integerCheck 中方法。 main 的输入永远不会超过 3 个字符串。代码编译得很好,但是当我尝试输入 3 个字符串时,出现此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3

这是从哪里来的?

private static void integerCheck(String[] b)
{
int i;
for(i=0;i<4;i++)
{
try {Integer.parseInt(b[i]);}
catch (NumberFormatException e)
{
System.err.println("one of inputs not an int");
System.exit(1);
}
}
}

public static void main(String[] args)
{

integerCheck(args);
}

最佳答案

应该是:for(i=0;i<3;i++) (如果您将 4 元素传递给您的程序,它应该与 4 一起使用,但如果您只需要 3 输入,则它应该是 3 )。

为什么?

因为for(i=0;i<4;i++)正在 0 1 2 3 上运行。所以预期输入的长度实际上是 4 。所以您正在尝试访问 b[3] ,这是 java.lang.ArrayIndexOutOfBoundsException .

注意:调试器会对您有很大帮助..使用它,您会更好地理解问题!

关于java - 将主要参数传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com