日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java基础--集合案例斗地主发牌排序

發(fā)布時(shí)間:2024/2/28 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础--集合案例斗地主发牌排序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
package com.henu;import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map;public class Demo04_斗地主_制牌_洗牌_發(fā)牌_有序 {public static void main(String[] args) {String[] nums = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};String[] color = {"?","?","?","?"};//定義map存儲(chǔ)所有牌,采用它的key為后期的每個(gè)人的手牌排序做準(zhǔn)備Map<Integer, String> hMap = new HashMap<>();//list存取序號(hào),相當(dāng)于map的key值。List<Integer> cardId = new ArrayList<Integer>();int count = 1;//雙重循環(huán)將牌存入到map中,注意外內(nèi)循環(huán)的不同數(shù)組,為了后續(xù)的排序for (String str1 : nums) {for (String str2 : color) {cardId.add(count);hMap.put(count++, str2+str1);}}hMap.put(53, "小?");hMap.put(54, "大?");cardId.add(53);cardId.add(54);//將牌的序號(hào)進(jìn)行打亂Collections.shuffle(cardId);//定義三個(gè)玩家List<Integer> xiaoTeng = new ArrayList<>();List<Integer> xiaoYun = new ArrayList<>();List<Integer> xiaoHong = new ArrayList<>();List<Integer> diPai = new ArrayList<>();//發(fā)牌for (int i = 0; i < cardId.size(); i += 3) {if (i < cardId.size()-3) {xiaoTeng.add(cardId.get(i));xiaoYun.add(cardId.get(i+1));xiaoHong.add(cardId.get(i+2));}else {diPai.add(cardId.get(i-1));diPai.add(cardId.get(i));diPai.add(cardId.get(i+1));}}//輸出結(jié)果System.out.println("小騰的牌是:"+toCard(xiaoTeng, hMap));System.out.println("小云的牌是:"+toCard(xiaoYun, hMap));System.out.println("小宏的牌是:"+toCard(xiaoHong, hMap));System.out.println("底牌的牌是:"+toCard(diPai, hMap));}//根據(jù)list的序號(hào)取map的value;即根據(jù)序號(hào)對(duì)map的 牌進(jìn)行取,得到的即是排序好的紙牌。public static List<String> toCard(List<Integer> user,Map<Integer, String> hMap){//現(xiàn)將抽到的牌進(jìn)行排序Collections.sort(user);//根據(jù)序號(hào)取到牌List<String> userCard = new ArrayList<>();for (Integer in : user) {userCard.add(hMap.get(in));}return userCard;}}

結(jié)果輸出:?

?

?

總結(jié)

以上是生活随笔為你收集整理的java基础--集合案例斗地主发牌排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。