Java實(shí)現(xiàn)撲克牌洗牌和發(fā)牌
本文實(shí)例為大家分享了Java實(shí)現(xiàn)撲克牌洗牌發(fā)牌的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)原理:使用4種花色和13個(gè)數(shù)字組合成52張牌,放進(jìn)一個(gè)集合中;通過把集合數(shù)據(jù)排序打亂實(shí)現(xiàn)洗牌操作,然后在通過循環(huán)把牌抽出來實(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);
}
//性感荷官,在線發(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é)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中實(shí)現(xiàn)訂單30分鐘自動(dòng)取消的三種方案分享
在電商和其他涉及到在線支付的應(yīng)用中,通常需要實(shí)現(xiàn)一個(gè)功能:如果用戶在生成訂單后的一定時(shí)間內(nèi)未完成支付,系統(tǒng)將自動(dòng)取消該訂單,本文將詳細(xì)介紹基于Spring Boot框架實(shí)現(xiàn)訂單30分鐘內(nèi)未支付自動(dòng)取消的幾種方案,并提供實(shí)例代碼,需要的朋友可以參考下2023-10-10
Mybatis MapperScannerConfigurer自動(dòng)掃描Mapper接口生成代理注入到Spring的方法
這篇文章主要給大家介紹了關(guān)于Mybatis MapperScannerConfigurer自動(dòng)掃描將Mapper接口生成代理注入到Spring的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2019-03-03
Spring自動(dòng)掃描無法掃描jar包中bean的解決方法
在日常開發(fā)中往往會對公共的模塊打包發(fā)布,然后調(diào)用公共包的內(nèi)容。然而,最近對公司的公共模塊進(jìn)行整理發(fā)布后。spring卻無法掃描到相應(yīng)的bean,下面這篇文章主要給大家介紹了關(guān)于Spring自動(dòng)掃描時(shí)無法掃描jar包中bean的解決方法,需要的朋友可以參考下。2017-06-06
SpringCloud Nacos配置中心管理超詳細(xì)講解
這篇文章主要介紹了Springcloud中的Nacos服務(wù)配置,本文以用戶微服務(wù)為例,進(jìn)行統(tǒng)一的配置,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
分布式面試分布式鎖實(shí)現(xiàn)及應(yīng)用場景
這篇文章主要為大家介紹了關(guān)于分布式的面試問題,分布式鎖的實(shí)現(xiàn)及應(yīng)用不同場景下的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
SpringBoot優(yōu)雅實(shí)現(xiàn)計(jì)算方法執(zhí)行時(shí)間
這篇文章主要為大家詳細(xì)介紹了SpringBoot中優(yōu)雅實(shí)現(xiàn)計(jì)算方法執(zhí)行時(shí)間的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
java Array和Arrays的區(qū)別總結(jié)
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于java Array和Arrays的區(qū)別總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2021-03-03

