문제

나는 도움이 필요해. 클래스의 n 수의 객체를 생성하는 for 루프를 만들고 싶다. 그런 다음 Arraylist에 추가합니다. 이 같은:

//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 크기로 알려진 경우 (귀하의 경우와 같이)

다른 팁

코드는 한 가지 예외로 구문 적으로 정확해 보입니다.

변화

p = new Player

에게

p = new Player();

변수를 가정합니다 n 선언되고 초기화됩니다 Player 클래스는 Argless 생성자로 정의됩니다.

여기에 문제가 보이지 않습니다

p = new Player();

(그러나 이것은 단지 오타 였을 수도 있고) Player 목록에는 N 다른 플레이어 객체로 채워질 것입니다.

내가 가정하고 있다고 가정하고, 당신은 플레이어의 기본 생성자를 사용하고 싶습니다.

이름 지정 힌트 : 자신을 혼동하고 싶지 않다면 목록의 이름을 지정해서는 안됩니다.)

콘크리트 클래스 대신 인터페이스에 코딩하는 것을 잊지 마십시오.

List<Player> numberofPlayers = new ArrayList<Player>(n);

이것을 잊어 버리는 것 (또는 그것에 대해 알지 못하는)은 일반적인 초보자 실수입니다.

나중에 대체 목록 구현 (LinkedList 또는 Google Collection 또는 Apache Commons Collection List)으로 전환하기로 결정한 경우 모든 참조를 목록에 변경할 필요가 없습니다. 초기 할당 만 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top