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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java——集合(模拟斗地主洗牌和发牌进行排序)

發布時間:2023/12/1 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——集合(模拟斗地主洗牌和发牌进行排序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//改進版,沒有進行按牌的地位從小到大排序 package com.yy.test;import java.util.ArrayList; import java.util.Collections;public class Test2 {/*** * A:案例演示* 模擬斗地主洗牌核發牌,牌沒有排序* * 分析:* 1,買一副撲克,其實就是自己創建一個集合對象,將撲克牌存儲進去* 2,洗牌 shuffle方法* 3,發牌* 4,看牌* */public static void main(String[] args) {//1,買一副撲克,其實就是自己創建一個集合對象,將撲克牌存儲進去String [] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};String [] color = {"紅桃","黑桃","方片","梅花"};ArrayList<String> poker = new ArrayList<>();//拼接花色和數字for (String s1 : color) {for (String s2 : num) {poker.add(s1.concat(s2)); //s1.concate(s2) :連接s1和s2兩個字符串}} // System.out.println(poker); //打印52張牌 // System.out.println(poker.size()); //查看一共有多少張牌poker.add("小王"); //添加小王poker.add("大王"); //添加大王//2,洗牌Collections.shuffle(poker); // System.out.println(poker);//3,發牌ArrayList<String> 高進 = new ArrayList<>();ArrayList<String> 龍五 = new ArrayList<>();ArrayList<String> 諺語 = new ArrayList<>();ArrayList<String> 底牌 = new ArrayList<>();for(int i = 0 ;i<poker.size();i++){if(i >= poker.size() - 3){底牌.add(poker.get(i)); //將三張底牌存儲在底牌集合中}else if(i % 3 == 0){高進.add(poker.get(i));}else if(i % 3 == 1){龍五.add(poker.get(i));}else {諺語.add(poker.get(i));}}//4,看牌System.out.println(高進);System.out.println(龍五);System.out.println(諺語);System.out.println(底牌);}} //完整版,進行按牌的地位從小打到大進行排序 package com.yy.test;import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.TreeSet;public class Test3 {/*** * A:案例演示* 模擬斗地主洗牌核發牌,牌沒有排序* * 分析:* 1,買一副撲克,其實就是自己創建一個集合對象,將撲克牌存儲進去* 2,洗牌 shuffle方法* 3,發牌* 4,看牌* */public static void main(String[] args) {//1,買一副撲克,其實就是自己創建一個集合對象,將撲克牌存儲進去String [] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};String [] color = {"紅桃","黑桃","方片","梅花"};HashMap<Integer, String> hm = new HashMap<>(); //存儲索引和撲克牌ArrayList<Integer> list = new ArrayList<>(); //存儲索引int index = 0; //定義一個索引值 //拼接撲克牌并將索引和撲克牌存儲在HashMap中for(String s1 : num){ //獲取數字for(String s2 : color){ //獲取顏色hm.put(index, s2.concat(s1));list.add(index); //將索引0到51添加到list集合中index++;}} // System.out.println(index);//將小王添加到雙列集合中hm.put(index, "小王");list.add(index); //將52索引添加到集合中index++;hm.put(index, "大王"); //將53索引添加到集合中list.add(index); // System.out.println(hm); // System.out.println(list);//2,洗牌Collections.shuffle(list); // System.out.println(list);//3,發牌TreeSet<Integer> 高進 = new TreeSet<>();TreeSet<Integer> 龍五 = new TreeSet<>();TreeSet<Integer> 諺語 = new TreeSet<>();TreeSet<Integer> 底牌 = new TreeSet<>();for(int i = 0; i <list.size();i++){if(i >= list.size() - 3){底牌.add(list.get(i)); //將三張底牌存儲在底牌集合中}else if(i % 3 == 0){高進.add(list.get(i));}else if(i % 3 == 1){龍五.add(list.get(i));}else {諺語.add(list.get(i));}}//4,看牌 重復動作抽取方法lookPoker(hm,高進,"高進");lookPoker(hm,龍五,"龍五");lookPoker(hm,諺語,"諺語");lookPoker(hm,底牌,"底牌"); }/*** 看牌* 1,返回值類型void* 2,參數列表HashMap,TreeSet,String name* */public static void lookPoker(HashMap<Integer,String> hm , TreeSet<Integer> ts , String name){System.out.print(name + "的牌是:");for (Integer i : ts) { //i代表雙列集合中的每一個鍵System.out.print(hm.get(i) + " ");}System.out.println();} }

總結

以上是生活随笔為你收集整理的Java——集合(模拟斗地主洗牌和发牌进行排序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。