課程
/后端開發(fā)
/Java
/Java入門第三季
按照String類型的比較規(guī)則,理論上不應(yīng)該是A<J<K<Q嗎??我們?cè)趺炊x一個(gè)新的比較規(guī)則
2016-06-16
源自:Java入門第三季 7-1
正在回答
撲克牌類里面定義2個(gè)屬性,一個(gè)就是撲克牌的名字,2-10,JQKA,然后定義一個(gè)他們int類型的大小屬性,封裝一下,控制臺(tái)輸出的是名字,比大小的時(shí)候用大小屬性
慕粉18523865484 提問者
說下我的方法,建立兩個(gè)輸出循環(huán)輸出,通過值與 元素組的位置進(jìn)行比較
public String [] dianshuji={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
//建立花色數(shù)組
public String [] huaseji={"方塊","梅花","紅桃","黑桃"};
public void addall(){// 增加整個(gè)撲克牌
for(int i=0;i<huaseji.length;i++){
for(int j=0;j<dianshuji.length;j++){
puke cr1=new puke(huaseji[i],dianshuji[j]);
pukelist.add(cr1);
}
System.out.println("--------------撲克拆包成功:-----------");
System.out.println("目前所有撲克牌為:");
System.out.println(pukelist);
System.out.println("");
public puke bijiaopai(puke a,puke b){
//比較大小
int m=0;
int n=0;
if(a.dianshu.equals(b.dianshu)){
for(int i=0;i<4;i++){//此處為比較四種花色位置
if(huaseji[i].equals(a.huase)){
m=i;
if(huaseji[i].equals(b.huase)){
n=i;
if(m>n) {
return a;
}else {
return b;
}else{
for(int j=0;j<13;j++){//此處為比較13張點(diǎn)數(shù)位置
if(dianshuji[j].equals(a.dianshu)){
m=j;
if(dianshuji[j].equals(b.dianshu)){
n=j;
if(m>n){
我說一下我的辦法吧,我是在撲克牌類里定義了花色和點(diǎn)數(shù)屬性,然后再實(shí)現(xiàn)comparable接口,并實(shí)現(xiàn)compareTo方法,這是我的實(shí)現(xiàn)代碼,寫的比較麻煩,主要不想再建新類了,就一次性比完大小
public int compareTo(Cards arg0) { //重寫comparable接口中的compareTo方法
// TODO 自動(dòng)生成的方法存根
String str="234567891JQKA";
List<String> type=new ArrayList<String>();
String str1[]={"黑桃","紅桃","梅花","方片"};
type.addAll(Arrays.asList(str1));
if(this.getCardsNumber().equals("10")){
int b=str.indexOf(arg0.getCardsNumber());
if(b<8)
return 1;
else if(b>8)
return -1;
else {
int x=type.indexOf(this.getCardsType());
int y=type.indexOf(arg0.getCardsType());
if(x<y)
else if(x>y)
else?
return 0;
?
else if(arg0.getCardsNumber().equals("10")){
int a=str.indexOf(this.getCardsNumber());
if(a>8)
else if(a<8)
else{
if(a>b)
else if(a<b)
用一個(gè)數(shù)組或者ArrayList(數(shù)組列表)存放,按索引比較,存放順序就是升序
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
4 回答怎么比較撲克牌的2-10,J Q K A的大小啊
1 回答撲克牌花色、大小 如何比較?
1 回答怎么比較撲克牌點(diǎn)大?。?/p>
3 回答比較大?。?/p>
4 回答比大小問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-06-17
撲克牌類里面定義2個(gè)屬性,一個(gè)就是撲克牌的名字,2-10,JQKA,然后定義一個(gè)他們int類型的大小屬性,封裝一下,控制臺(tái)輸出的是名字,比大小的時(shí)候用大小屬性
2016-07-06
說下我的方法,建立兩個(gè)輸出循環(huán)輸出,通過值與 元素組的位置進(jìn)行比較
public String [] dianshuji={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
//建立花色數(shù)組
public String [] huaseji={"方塊","梅花","紅桃","黑桃"};
public void addall(){// 增加整個(gè)撲克牌
for(int i=0;i<huaseji.length;i++){
for(int j=0;j<dianshuji.length;j++){
puke cr1=new puke(huaseji[i],dianshuji[j]);
pukelist.add(cr1);
}
}
System.out.println("--------------撲克拆包成功:-----------");
System.out.println("目前所有撲克牌為:");
System.out.println(pukelist);
System.out.println("");
}
public puke bijiaopai(puke a,puke b){
//比較大小
int m=0;
int n=0;
if(a.dianshu.equals(b.dianshu)){
for(int i=0;i<4;i++){//此處為比較四種花色位置
if(huaseji[i].equals(a.huase)){
m=i;
}
if(huaseji[i].equals(b.huase)){
n=i;
}
}
if(m>n) {
return a;
}else {
return b;
}
}else{
for(int j=0;j<13;j++){//此處為比較13張點(diǎn)數(shù)位置
if(dianshuji[j].equals(a.dianshu)){
m=j;
}
if(dianshuji[j].equals(b.dianshu)){
n=j;
}
}
if(m>n){
return a;
}else{
return b;
}
}
}
2016-07-01
我說一下我的辦法吧,我是在撲克牌類里定義了花色和點(diǎn)數(shù)屬性,然后再實(shí)現(xiàn)comparable接口,并實(shí)現(xiàn)compareTo方法,這是我的實(shí)現(xiàn)代碼,寫的比較麻煩,主要不想再建新類了,就一次性比完大小
public int compareTo(Cards arg0) { //重寫comparable接口中的compareTo方法
// TODO 自動(dòng)生成的方法存根
String str="234567891JQKA";
List<String> type=new ArrayList<String>();
String str1[]={"黑桃","紅桃","梅花","方片"};
type.addAll(Arrays.asList(str1));
if(this.getCardsNumber().equals("10")){
int b=str.indexOf(arg0.getCardsNumber());
if(b<8)
return 1;
else if(b>8)
return -1;
else {
int x=type.indexOf(this.getCardsType());
int y=type.indexOf(arg0.getCardsType());
if(x<y)
return 1;
else if(x>y)
return -1;
else?
return 0;
}
?
}
else if(arg0.getCardsNumber().equals("10")){
int a=str.indexOf(this.getCardsNumber());
if(a>8)
return 1;
else if(a<8)
return -1;
else {
int x=type.indexOf(this.getCardsType());
int y=type.indexOf(arg0.getCardsType());
if(x<y)
return 1;
else if(x>y)
return -1;
else?
return 0;
}
}
else{
int a=str.indexOf(this.getCardsNumber());
int b=str.indexOf(arg0.getCardsNumber());
if(a>b)
return 1;
else if(a<b)
return -1;
else {
int x=type.indexOf(this.getCardsType());
int y=type.indexOf(arg0.getCardsType());
if(x<y)
return 1;
else if(x>y)
return -1;
else?
return 0;
}
}
}
}
2016-06-17
用一個(gè)數(shù)組或者ArrayList(數(shù)組列表)存放,按索引比較,存放順序就是升序