如何修复arrayindexoutofboundsexception错误?

时间:2014-01-16 18:52:10

标签: java arrays

这是我正在处理的代码

public class NameTag
{
    public static void main (String[] args)
    {
        System.out.println ();
        System.out.println ("   " + args[0]);
        System.out.println ("My name is " + args[1]);
        System.out.println ();
    }
}

这是每次尝试运行程序时都会显示的错误 java.lang.ArrayIndexOutOfBoundsException:0     在NameTag.main(NameTag.java:6)

我正在使用BlueJ版本3.1.0 * 我不知道如何解决这个错误,我尝试了很多不同的东西,但没有任何工作。请帮忙。 *

3 个答案:

答案 0 :(得分:2)

这意味着您在执行时没有向程序传递任何参数。因此,访问args[0]args[1]会导致ArrayIndexOutOfBoundsExceptionhttp://www.bluej.org/help/archive.html#tip9解释了如何将命令行参数传递给BlueJ。为了省去跟踪链接的麻烦,请将以下参数传递给main:

{ "foo", "bar" }

args[0]中的字符串“foo”和args[1]中的“bar”。此外,最好在对它进行任何操作之前检查args数组的长度,以确保参数确实已通过。

答案 1 :(得分:1)

在执行任何其他操作之前检查数组的长度。

public static void main (String[] args)
{
    if(args.length > 1) {
       System.out.println ();
       System.out.println ("   " + args[0]);
       System.out.println ("My name is " + args[1]);
       System.out.println ();
    }
}

答案 2 :(得分:0)

在blueJ上,当您运行时,请确保以正确的方式输入输入而不是空。它将接受您的输入并从输入中评估args [0]和args [1]。当它找不到任何参数时抛出异常。