2015-03-30 44 views
0

我創建了一個名爲juice的類,以便可以創建該類的數組,然後將數組設置爲50,並將juice的價格設置爲索引。問題是,當我試圖打印果汁的價格時[7](假設爲7),因爲這是索引,它會打印出49份。我不知道我做錯了什麼。請指出我的錯誤。謝謝。將一個類中的數組嵌入

package juice; 



public class Juice { 

static String size;//size of the juice 
static int price;//price of the juice 

Juice(String size, int price) { 
    this.size = size; 
    this.price = price; 

} 

public static void main(String[] args) { 
    MakeJuice.makeJuice(); 

} 

} 

class MakeJuice { 

static Juice juice[] = new Juice[50]; 

static void makeJuice() { 
    for (int i = 0; i < 50; i++) { 
     juice[i] = new Juice("Big", i);//set price to the index 
    } 

    System.out.println(juice[7].price);//print out the price of juice[7],...supposely, which is suppose to be 7, not 49. 
} 

} 

回答

7

尺寸和價格不應該是靜態的。這將解決您的問題。

+0

好的。這確實解決了這個問題。謝謝。你能否告訴我爲什麼靜態使它不起作用? – Skillet 2015-03-30 19:56:22

+1

靜態使該變量全局變爲該類,而不是實例特定的變量。而不是創建具有唯一大小/價格變量的新實例,而只是更新單個實例。進一步閱讀Java中靜態屬性/方法的性質可能會有所幫助。 – Necreaux 2015-03-30 19:59:28

相關問題