데크에서 카드를 "뒤섞기"로되어있는 다음 Java 코드가 있습니다. 덱은 카드 객체를 포함하는 arraylist입니다. 그러나셔플 데크 알고리듬
private void ShuffleDeck() {
//Number of cards in deck
int deckSize = deck.size();
//Swapping 100 cards
for(int i = 0; i < 15; i++) {
//Generating two random card indexes
int indexA = (int) ((Math.random() * deckSize-1));
int indexB = (int) (Math.random() * deckSize-1);
System.out.println(indexA + " " + indexB);
//Getting objects
Card cardA = deck.get(indexA);
Card cardB = deck.get(indexB);
//Temporaily removing these cards from deck
deck.remove(cardA);
deck.remove(cardB);
//Swapping around the two cards
deck.add(indexA, cardB);
deck.add(indexB, cardA);
}
}
,이는 이유에 일부 카드는 덱에서 "사라"하는 것이 방법 ... 어떤 제안을 실행하면? :) deck
가정
'Collections.shuffle'을 사용할 수 있습니까? – wchargin
또는 [[Collections.swap()']] (http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#swap%28java.util.List,%20int , % 20int % 29)? –
다른 패키지/라이브러리를 사용하지 않고 모든 것을 구현해야합니까? I.E. 이것은 학문적 운동입니까? – Makoto