0

私のロジックが正しいかどうかを確認してください。私がやろうとしていることを実装する方法がわかりません。私はJavaの初心者です。

Game は、ゲームが完了した後にそのユーザーの Name と Steps を格納するクラスです。

【第一の方法】

private game[] gameArray = new game[10];

for(int i = 0; i <gameArray.length;i++){
         gameArray[i].setName(nameTxt.getText());
         gameArray[i].setpSteps(stepsCount);
    }

履歴ボタンをクリックすると、過去 10 人の名前と歩数が表示されます。

JOptionPane.showMessageDialog(null,
       "Player's Name No. of Steps"+
       "\n"+gameArray[i].toString());

-問題:

1) このコードは、以前の 10 件の結果のみに制限されています。とにかく、以前のすべての結果を取得できます。

2) このコードは機能しません!

[ 2 番目の方法 - これもうまくいきません! ]

private game[] gameArray = new game[10];

// Storing the name of player[i]

gameArray[i].setName(nameTxt.getName());

// Storing the number of steps player[i] took.

gameArray[i].setpSteps(stepsCount);

//Displaying previous 10 players name and steps

JOptionPane.showMessageDialog(null,
       "Player's Name No. of Steps"+
       "\n"+gameArray[i].toString());
4

1 に答える 1

1

いくつかのポイント:

  • Java ではサポートされていないため、配列をStringスルーに直接変換することはできません。使用する必要があります。toString()Arrays.toString(..)
  • ArrayList<Game>Java 配列のサイズは静的です。履歴全体を保存する場合は、またはとして動的データ構造が必要になります。LinkedList<Game>
  • クラスの名前は大文字にする必要があります ( Game, ではありませんgame)
  • クラスの内部を知らなければ、Game何が機能していないのか、なぜ機能していないのかを知ることは不可能です。正確に何をすべきかさえわかりません。
于 2013-02-03T15:08:35.920 に答える