1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| import java.util.*; public class Card implements Comparable<Card>{ char suit; char rank; double randomValue; Card(char aSuit,char aRank) { suit=aSuit; rank=aRank; randomValue=Math.random(); } void dispaly() { System.out.print( Character.toString(suit)+Character.toString(rank)+' '); } public int compareTo(Card card) { return this.randomValue>card.randomValue?1:(this.randomValue<card.randomValue?-1:0); } } class CompareRank implements Comparator<Card> { public int compare(Card a,Card b) { return a.rank>b.rank?1:(a.rank<b.rank?-1:0); } } import java.util.*; public class CardSort {
public static void main(String[] args) { char[] suits= {'梅','方','桃','心'}; char[] values= {'A','2','3','4','5','6','7','8','9','T','J','Q','K'}; List<Card> cards=new LinkedList<Card>(); for(int i=0;i<13;i++) { for(int j=0;j<4;j++) { cards.add(new Card(suits[j],values[i])); } } cards.add(new Card('小','鬼')); cards.add(new Card('大','鬼')); Collections.sort(cards); for(int i=0;i<54;i++) {cards.get(i).dispaly(); } System.out.println(); Collections.sort(cards,new CompareRank()); for(int i=0;i<54;i++) {cards.get(i).dispaly(); } } }
|