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] + ", ");
配列に必要な数の宝物に対してのみ「null」を取得します。t.collectedTreasures(t) の後に配列を出力すると、最後の宝物だけがそこにあり、そのオブジェクトの前のインデックスは null であることがわかります。私は何を間違えましたか?
はい、初心者です。優しくしてください。