本文共 1010 字,大约阅读时间需要 3 分钟。
设计对rank值的比较器,然后对整副牌进行排序输出,观察效果。
import java.util.*;public class Card implements Comparable{ 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 { public int compare(Card a,Card b) { return a.rank>b.rank?1:(a.rank cards=new LinkedList (); 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(); } }}
转载地址:http://fucki.baihongyu.com/