Java實(shí)現(xiàn)撲克牌洗牌和發(fā)牌
本文實(shí)例為大家分享了Java實(shí)現(xiàn)撲克牌洗牌發(fā)牌的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)原理:使用4種花色和13個(gè)數(shù)字組合成52張牌,放進(jìn)一個(gè)集合中;通過(guò)把集合數(shù)據(jù)排序打亂實(shí)現(xiàn)洗牌操作,然后在通過(guò)循環(huán)把牌抽出來(lái)實(shí)現(xiàn)發(fā)牌操作。
下面是實(shí)現(xiàn)代碼:
import java.util.ArrayList; import java.util.Collections; public class Card { private static ArrayList<String> list = new ArrayList<>(); private static String[] colors = {"黑桃","紅桃","梅花","方塊"}; private static String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; private static String[] jokers = {"Joker","joker"}; //大小王 private static ArrayList<String> A = new ArrayList<>(); //小人A private static ArrayList<String> B = new ArrayList<>(); //小人B private static ArrayList<String> C = new ArrayList<>(); //小人C private static ArrayList<String> D = new ArrayList<>(); //小人D //初始化撲克牌 public static void initCards(boolean need){ for(String color:colors){ for (String num:nums) { list.add(color + num); } } //是否添加大小王 if (need) { list.add(jokers[0]); list.add(jokers[1]); } } //洗牌 public static void xiPai(){ Collections.shuffle(list); } //性感荷官,在線(xiàn)發(fā)牌 public static void faPai(){ A.clear(); B.clear(); C.clear(); D.clear(); for (int i = 0; i < list.size();i++) { if (i%4 == 0) { A.add(list.get(i)); } if (i%4 == 1) { B.add(list.get(i)); } if (i%4 == 2) { C.add(list.get(i)); } if (i%4 == 3) { D.add(list.get(i)); } } } //主方法 public static void main(String args[]){ initCards(true); xiPai(); faPai(); System.out.print("小人A" + A + "\n"); System.out.print("小人B" + B + "\n"); System.out.print("小人C" + C + "\n"); System.out.print("小人D" + D + "\n"); } }
下面是運(yùn)行結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JAVA ArrayList詳細(xì)介紹(示例)
- Java中ArrayList類(lèi)的使用方法
- java的arraylist排序示例(arraylist用法)
- Java實(shí)現(xiàn)洗牌發(fā)牌的方法
- Java ArrayList 數(shù)組之間相互轉(zhuǎn)換
- Java實(shí)現(xiàn)斗地主之洗牌發(fā)牌
- Java超詳細(xì)教你寫(xiě)一個(gè)斗地主洗牌發(fā)牌系統(tǒng)
- Java模擬實(shí)現(xiàn)斗地主的洗牌和發(fā)牌
- Java模擬實(shí)現(xiàn)撲克牌洗牌和發(fā)牌的示例代碼
- Java中ArrayList具體實(shí)現(xiàn)之簡(jiǎn)單的洗牌算法
相關(guān)文章
java正則表達(dá)式應(yīng)用的實(shí)例代碼
java正則的實(shí)例應(yīng)用分析,大家從下面的代碼中,就能知道java正則的應(yīng)用與寫(xiě)法2008-10-10FastDFS分布式文件系統(tǒng)環(huán)境搭建及安裝過(guò)程解析
這篇文章主要介紹了FastDFS分布式文件系統(tǒng)環(huán)境搭建及安裝過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08使用Java將一個(gè)List運(yùn)用遞歸轉(zhuǎn)成樹(shù)形結(jié)構(gòu)案例
這篇文章主要介紹了使用Java將一個(gè)List運(yùn)用遞歸轉(zhuǎn)成樹(shù)形結(jié)構(gòu)案例,本文通過(guò)詳細(xì)的案例來(lái)解釋說(shuō)明了如何去操作,需要的朋友可以參考下2021-06-06SpringBoot?Schedule調(diào)度任務(wù)的動(dòng)態(tài)管理
Scheduled定時(shí)任務(wù)是Spring?boot自身提供的功能,所以不需要引入Maven依賴(lài)包,下面這篇文章主要給大家介紹了關(guān)于SpringBoot通過(guò)@Scheduled實(shí)現(xiàn)定時(shí)任務(wù)以及問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2023-02-02SpringBoot RestTemplate GET POST請(qǐng)求的實(shí)例講解
這篇文章主要介紹了SpringBoot RestTemplate GET POST請(qǐng)求的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09springBoot集成redis(jedis)的實(shí)現(xiàn)示例
Redis是我們Java開(kāi)發(fā)中,使用頻次非常高的一個(gè)nosql數(shù)據(jù)庫(kù),本文主要介紹了springBoot集成redis(jedis)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09