2013-12-17 166 views
0

的陣列我有問題,我的代碼在這裏的Java創建實例

Seller[] seller = new Seller[numberOfSellers];   // Declared global 

// Some operations here 

seller[i].setJoinDate(joinDate); 
seller[i].setNumberOfPost(numberOfPost); 
seller[i].setCustomerReview(customerReviewCount); 
seller[i].setSafeTag(safeTag); 

然後,我有這樣的賣家類這些方法

public void setJoinDate(String joinDate) { this.joinDate = joinDate; } 

public void setNumberOfPost(int numberOfPost) { this.numberOfPost = numberOfPost; } 

public void setCustomerReview(int customerReview) { this.customerReview = customerReview; } 

public void setSafeTag(String safeTag) { this.safeTag = safeTag; } 

以上是我的縮短碼。如果不清楚,請指點我在哪裏。

基本上我創建了一個實例數組。然後我會設置數據。

假設joinDatenumberOfPostcustomerReviewCountsafeTag最後是numberOfSellers沒有問題是它是。

我遇到的問題是將數據設置爲實例。這是setJoinDate,setNumberOfPost,setCustomerReview,setSafeTag。任何人都可以幫我在這裏發現我的錯誤?

當我執行程序時,它給我這個錯誤

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 
at fyp.draft.pkg1.Design.actionPerformed(Design.java:247) 
+1

什麼是'Design.java:247' – Deepak

+0

numberOfSellers在哪裏被初始化? – PakkuDon

+0

其中'賣家[i] .setJoinDate(joinDate);'位於 – user3054491

回答

2

numberOfSellers似乎並沒有設置或者在時間等於零你運行代碼。 例如:

public static int b; 

    public static void main(String[] args) { 

    Double[] d = new Double[b]; 

    d[5].doubleValue(); 
    } 

導致

異常線程 「main」 java.lang.ArrayIndexOutOfBoundsException:5

+0

我的問題已解決。我的問題是,我宣佈'賣家[]賣家=新賣家[numberOfSellers];'在錯誤的地方。我很抱歉提出這樣一個愚蠢的問題,並浪費你們時間。但是,您的解決方案仍然有助於爲我提供一些發現錯誤的提示。 – user3054491

-1

您需要initiallize數組:

for(int i=0;i<numberOfSellers;i++) 
{ 
    seller[i] = new seller(); 
} 
+0

我如你所說,仍然得到一個錯誤'在線程中的異常「AWT-EventQueue-0」java.lang.ArrayIndexOutOfBoundsException:0' – user3054491

1

由於指數從提供的異常等於0,看來你變numberOfSellers也等於0。這意味着,您的數組seller始終爲空。

BTW在Java中沒有術語global。也許你的意思是說你的數組是靜態的Class或者只是對象變量(field)的字段?

0

我認爲您的號碼numberOfSellers初始化爲0,如錯誤所述。

您可以嘗試下面的一段代碼;

int numberOfSellers = 3; 
Seller[] seller = new Seller[numberOfSellers];   // Declared global 

for(int i = 0 ; i<seller.length ; i++){ 
seller[i] = new Seller(); 
seller[i].setJoinDate(joinDate); 
seller[i].setNumberOfPost(numberOfPost); 
seller[i].setCustomerReview(customerReviewCount); 
seller[i].setSafeTag(safeTag); 
}