我想提出一個RPG風格的節目,但我有麻煩讓我珍惜的對象數組工作。我想將我在陣列中找到的所有寶藏都保存下來,以後再打印出來。下面是寶類的代碼:對象失去了在陣列
private static int x = 0;
Treasure treasureArray[] = new Treasure[20];
public void collectedTreasures(Treasure t){
treasureArray[x] = t;
x++;
}
而在主程序:
GoldTreasure t = new Coin();
hero1.setPoints(t.getCoin());
t.collectedTreasures(t);
寶對象的創建是一個無限循環內的開關內。 當我打印出來的數組,方法
public void printTreasures(){
for (int y=0 ; y<x ; y++){
System.out.print(treasureArray[y] + ", ");
我只得到「空」爲儘可能多的寶物應該在數組中。如果我在t.collectedTreasures(t)之後打印出數組,那麼我看到只有最後一個寶藏存在,並且該對象之前的索引爲空。我做錯了什麼?
是的,我是一個新手。對人好點。
你的變量'x'可能不應該是'static'。還要考慮像「Vector」這樣的動態列表。 – Sirko
在'寶藏'類中定義了'treasureArray []'嗎?您可能有一個與每個「Treasure」對象關聯的單獨寶藏。 – mellamokb
't.collectedTreasures(t);'看起來對我很可疑。我真的沒有花太多時間看你的代碼,但你真的添加自己? – mprivat