public class Card {
public String rank;
public String suit;
public Card(String rank, String suit) {
this.rank = rank;
this.suit = suit;
}
@Override
public String toString(){
return String.format("[%s %s]",suit,rank);
}
}
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Random;
public class Demo {
public static final String[] SUITS = {"♥","♠","♣","♦"};
private static List<Card> buyCard(){
List<Card> cards = new ArrayList<>(52);
for (int i = 0; i < 4; i++) {
Card aCard = new Card("A",SUITS[i]);
cards.add(aCard);
for (int j = 2; j < 11; j++) {
Card card = new Card(j + "",SUITS[i]);
cards.add(card);
}
Card jCard = new Card("J",SUITS[i]);
Card qCard = new Card("Q",SUITS[i]);
Card kCard = new Card("K",SUITS[i]);
cards.add(jCard);
cards.add(qCard);
cards.add(kCard);
}
return cards;
}
private static void swap(List<Card> deck,int i , int j) {
Card tem = deck.get(i);
deck.set(i,deck.get(j));
deck.set(j,tem);
}
private static void myShuffle(List<Card> deck) {
Random random = new Random();
for (int i = deck.size() - 1; i > 0; i--) {
swap(deck,i,random.nextInt(i));
}
}
public static void main(String[] args) {
List<Card> deck = buyCard();
System.out.println("刚买到的扑克牌");
System.out.println(deck);
myShuffle(deck);
System.out.println("洗过的牌");
System.out.println(deck);
List<List<Card>> hands = new ArrayList<>();
hands.add(new ArrayList<>());
hands.add(new ArrayList<>());
hands.add(new ArrayList<>());
for(int i = 0; i < 5; ++i){
for(int j = 0; j < 3; ++j){
hands.get(j).add(deck.remove(0));
}
}
System.out.println("A手中的牌:");
System.out.println(hands.get(0));
System.out.println("B手中的牌:");
System.out.println(hands.get(1));
System.out.println("C手中的牌:");
System.out.println(hands.get(2));
System.out.println("剩余的牌:");
System.out.println(deck);
}
}