2014-01-16 67 views
0

这是我处理的如何修复arrayindexoutofboundsexception错误?

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

运行主要方法时,您需要传递一些参数(至少2代表您的代码)。 –

+0

你知道'args'数组的目的是什么,你在做什么需要做什么来填充它,当你运行该程序? – Philipp

+0

您需要在命令行上至少运行带有两个参数的程序。我对BlueJ不熟悉,所以我不知道如何运行程序并传递参数。 – ajb

回答

2

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

{ "foo", "bar" } 

有在args[0]字符串“foo”和“酒吧”,在args[1]。此外,最好在做任何事情之前检查args数组的长度,以确保参数确实已通过。

0

在blueJ上,当您运行时,请确保以正确的方式输入您的输入,而不是空的。它将采用您的输入并评估输入中的参数[0]和参数[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(); 
    } 
}