public?class?Card?implements?Comparable<Card>?{
????String?pattern;?//花色
????
????String?figure;?//點(diǎn)數(shù)
????
????public?Card(String?pattern,?String?figure)?{
????????this.pattern?=?pattern;
????????this.figure?=?figure;
????}
????
????/**
????*?比較對(duì)象:當(dāng)前撲克牌與傳入的撲克牌
????*?比較內(nèi)容:點(diǎn)數(shù)、花色
????*?比較步驟:?
????*?對(duì)比二者的點(diǎn)數(shù),
????*?1.若點(diǎn)數(shù)相同,
????*? ?(1)若當(dāng)前撲克牌的花色較大,則返回正整數(shù)。
????*? ?(2)若當(dāng)前撲克牌的花色較小,則返回負(fù)整數(shù)。
????*?2.若點(diǎn)數(shù)不同,
????*? ?(1)若當(dāng)前撲克牌的點(diǎn)數(shù)較大,則返回正整數(shù)。
????*? ?(2)若當(dāng)前撲克牌的點(diǎn)數(shù)較大,則返回負(fù)整數(shù)。
????*/
????@Override
????public?int?compareTo(Card?c)?{
????????if(this.figure.equals("10"))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?if((c.figure.equals("J"))?||?(c.figure.equals("Q"))?||?(c.figure.equals("K"))?||?(c.figure.equals("A")))?{
????????????????return?-1;
????????????}else?{
????????????????return?1;
????????????}
????????}else?if(this.figure.equals("Q"))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?if((c.figure.equals("K"))?||?(c.figure.equals("A")))?{
????????????????return?-1;
????????????}else?{
????????????????return?1;
????????????}
????????}else?if(this.figure.equals("A"))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?{
????????????????return?1;
????????????}
????????}else?if((!(this.figure.equals("J")))?&&?(!(this.figure.equals("K"))))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?if(c.figure.equals("10"))?{
????????????????return?-1;
????????????}else?{
????????????????return?this.figure.compareTo(c.figure);
????????????}
????????}else?if(this.figure.equals("J"))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?if(c.figure.equals("A"))?{
????????????????return?-1;
????????????}else?{
????????????????return?this.figure.compareTo(c.figure);
????????????}
????????}else?if(this.figure.equals("K"))?{
????????????if(c.figure.equals(this.figure))?{
????????????????if(this.pattern.equals("方片"))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("梅花"))?&&?(!(c.pattern.equals("方片"))))?{
????????????????????return?-1;
????????????????}else?if((this.pattern.equals("紅桃"))?&&?(c.pattern.equals("黑桃")))?{
????????????????????return?-1;
????????????????}else?{
????????????????????return?1;
????????????????}
????????????}else?if(c.figure.equals("Q"))?{
????????????????return?1;
????????????}else?if(c.figure.equals("A"))?{
????????????????return?-1;
????????????}else?{
????????????????return?this.figure.compareTo(c.figure);
????????????}
????????}
????????return?0;
????}
????
}
2020-10-26
你現(xiàn)在練的是外功,也就是招式,談功力(內(nèi)功)為時(shí)尚早,先將基本功打好。多看看別人寫(xiě)的代碼,取長(zhǎng)補(bǔ)短,事半功倍。實(shí)現(xiàn)功能只是第一步,優(yōu)化永無(wú)止境。奔跑吧,少年!