第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業(yè)提交,具體比較撲克大小通過Collections.max(),實現(xiàn)Compatator接口在其中通過map接口的value值比較

Test類

package com.wgd.t2;

import java.util.ArrayList;

import java.util.Collections;https://img1.sycdn.imooc.com//5bdc2ed000012e2107460696.jpg

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Random;

import java.util.Scanner;


public class test {


public static void main(String[] args) {

// TODO 自動生成的方法存根

//存放所有的牌

List<String>list=new ArrayList<String>();

//存放玩家的牌

List<String>papuke1=new ArrayList<String>();

List<String>papuke2=new ArrayList<String>();

//存放玩家與玩家的牌

Map<Integer,List<String>>map=new HashMap<Integer,List<String>>();

String[] str={"紅心","黑桃","梅花","方片"};

String []str2={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

for(int i=0;i<str.length;i++)

for(int j=0;j<str2.length;j++){

StringBuffer sb=new StringBuffer();

sb.append(str[i]);

sb.append(str2[j]);

list.add(sb.toString());

}

System.out.println("--------創(chuàng)建撲克牌----------");

System.out.println("----------撲克牌創(chuàng)建成功!----------------");

System.out.print("為:[");

for (String string : list) {

if(list.indexOf(string)%13==0)

System.out.println();

System.out.print(string+" ");

}

System.out.println("]");

System.out.println("--------開始洗牌--------");

System.out.println("------------洗牌結(jié)束------------");

System.out.println("------------創(chuàng)建玩家--------------");

Player pa1=new Player();

Player pa2=new Player();

Scanner scan=new Scanner(System.in);

boolean falg=true;

while(falg){

System.out.println("請輸入第一位玩家的id:");

try{

Integer id1=new Integer(scan.nextInt());

System.out.println("請輸入第一位玩家的姓名:");

String name1=scan.next();

pa1.setId(id1);

pa1.setName(name1);

System.out.println("請輸入第二位玩家的id:");

Integer id2=new Integer(scan.nextInt());

System.out.println("請輸入第二位玩家的姓名:");

String name2=scan.next();

pa2.setId(id2);

pa2.setName(name2);

}

catch(Exception e){

System.out.println("請輸入正整數(shù)id");

}

finally{

falg=false;

}

}

System.out.println("--歡迎玩家"+pa1.getName());

System.out.println("--歡迎玩家"+pa2.getName());

System.out.println("--------開始發(fā)牌---------");

Random random=new Random();

//兩位玩家開始拿牌

System.out.println("---玩家"+pa1.getName()+"拿牌---");

int p1=random.nextInt(list.size());

papuke1.add(list.get(p1));

list.remove(list.get(p1));

System.out.println("---玩家"+pa2.getName()+"拿牌---");

int p2=random.nextInt(list.size());

papuke2.add(list.get(p2));

list.remove(list.get(p2));

System.out.println("---玩家"+pa1.getName()+"拿牌---");

int pp1=random.nextInt(list.size());

papuke1.add(list.get(pp1));

list.remove(list.get(pp1));

System.out.println("---玩家"+pa2.getName()+"拿牌---");

int pp2=random.nextInt(list.size());

papuke2.add(list.get(pp2));

list.remove(list.get(pp2));

//拿牌結(jié)束

System.out.println("---發(fā)牌結(jié)束---");

System.out.println("-----開始游戲----");

//將兩位玩家以及他們擁有的牌放到map中

map.put(pa1.getId(), papuke1);

map.put(pa2.getId(), papuke2);

//通過實現(xiàn)了comparator接口的類指定規(guī)則找到list中最大值

String pa1_max_pai=Collections.max(papuke1,new ComparatorT());

System.out.println("玩家"+pa1.getName()+"最大的手牌為:"+pa1_max_pai);

String pa2_max_pai=Collections.max(papuke2,new ComparatorT());

System.out.println("玩家"+pa2.getName()+"最大的手牌為:"+pa2_max_pai);

//建立臨時list存貯兩位玩家手中的最大牌

List<String>templist=new ArrayList<String>();

templist.add(pa1_max_pai);

templist.add(pa2_max_pai);

//通過實現(xiàn)了comparator接口的類指定規(guī)則找到templist中最大值

String tempmax=Collections.max(templist,new ComparatorT());

if(pa1_max_pai.equals(tempmax)){

System.out.println("----玩家"+pa1.getName()+"獲勝----");

}

else{

System.out.println("----玩家"+pa2.getName()+"獲勝----");

}

System.out.println("玩家各自的手牌為");

System.out.println(pa1.getName()+""+papuke1.get(0)+" "+papuke1.get(1));

System.out.println(pa2.getName()+""+papuke2.get(0)+" "+papuke2.get(1));

}

}

實現(xiàn)了Comparator接口的類

package com.wgd.t2;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class ComparatorT implements Comparator<String> {

? public ComparatorT() {

// TODO 自動生成的構(gòu)造函數(shù)存根

}

@Override

public int compare(String arg0,String arg1) {

//通過map來存放中文和數(shù)字,便于比較

Map <String,Integer>map=new HashMap<String,Integer>();

map.put("紅心",4);map.put("黑桃",3);map.put("梅花",2);map.put("方片",1);

map.put("2",5);map.put("3",6);map.put("4",7);map.put("5",8);

map.put("6",9);

map.put("7",10);map.put("8",11);map.put("9",12);map.put("10",13);

map.put("J",14);map.put("Q",15);map.put("K",16);map.put("A",17);

//pre表示前面的中文,last表示數(shù)字

String arg0pre=arg0.substring(0,2);

String arg0last=arg0.substring(2);

String arg1pre=arg1.substring(0,2);

String arg1last=arg1.substring(2);

//點數(shù)相同比較花色,不同直接比較點數(shù)

if(arg0last.equals(arg1last)){

return map.get(arg0pre).compareTo(map.get(arg1pre));

}

else{

return map.get(arg0last).compareTo(map.get(arg1last));

}

}

}


正在回答

2 回答

請問您是重寫了compareTo方法來比較嗎?


0 回復(fù) 有任何疑惑可以回復(fù)我~

Comparator接口的類中,直接比較花色時,不知道用不用考慮“A”應(yīng)該比“J”"Q","K"大?直接用compareTo會不會不合適?https://img1.sycdn.imooc.com//5c0f778b0001a82904550057.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_Takeiteasy_2

你說的對
2019-01-04 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

作業(yè)提交,具體比較撲克大小通過Collections.max(),實現(xiàn)Compatator接口在其中通過map接口的value值比較

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號