質問
助けが必要です。クラスのn個のオブジェクトを作成し、それらをarraylistに追加するforループを作成します。このようなもの:
//Player is a custom class
ArrayList<Player> numberofPlayersArray;
numberofPlayersArray = new ArrayList<Player>();
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++)
{
//this is what I can come up with but I am missing something
Player p;
p = new Player
numberofPlayersArray.add(p);
}
ご協力いただければ幸いです
解決
//Player is a custom class
ArrayList<Player> numberofPlayersArray = new ArrayList<Player>(n);
//n is a variable for the number of Player class objects that I want to create
for(int i = 0; i < n; i++) {
//this is what I can come up with but I am missing something
Player p = new Player();
numberofPlayersArray.add(p);
}
(あなたの場合のように)既知の場合、サイズで ArrayList
を初期化する方が良いことに注意してください
他のヒント
コードは1つの例外を除いて構文的に正しいように見えます。
変更
p = new Player
to
p = new Player();
変数 n
が宣言および初期化され、 Player
クラスが引数なしのコンストラクタで定義されていると仮定しています。
ここでは問題は表示されませんが、表示されるだけです
p = new Player();
(ただし、これは単なるタイプミスである可能性があります)、playerlistにはn個の異なるPlayerオブジェクトが入力されます。
注意してください、私はただ仮定している、あなたはプレーヤーのデフォルトコンストラクタを使用したい。
命名のヒント:混乱させたくない限り、リストに「..Array」という名前を付けるべきではありません;)単に「..List」という名前を付けます
(具象クラスではなく)インターフェイスにコーディングすることを忘れないでください。
List<Player> numberofPlayers = new ArrayList<Player>(n);
これを行うのを忘れること(またはそれを知らないこと)は、一般的な初心者の間違いです。
後で別のリストの実装(LinkedListまたはGoogle CollectionまたはApache Commons Collectionリスト)に切り替える場合、リストへのすべての参照を変更する必要はありません-最初の割り当てだけです。
所属していません StackOverflow