2014-01-16 66 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(); 
    } 
}