importjava.util.ArrayList;importjava.util.Collections;importjava.util.HashMap;importjava.util.List;importjava.util.Set;public classTest {public static voidmain(String[] args) {/*思路分析:

1,生成牌:用map集合保存54张牌,且从1-54数字对应起来*/List color = new ArrayList<>();

List point = new ArrayList<>();

Collections.addAll(color,"♥","♠","♣","♦");

Collections.addAll(point,"A","2","3","4","5","6","7","8","9","10","J","Q","K");

HashMap poker = new HashMap<>();

poker.put(0, "大王");

poker.put(1, "小王");int serialNum = 2;for(String d : point) {for(String c : color) {

poker.put(serialNum,c+d);

serialNum++;

}

}//一副扑克牌生成完成//System.out.println(poker);//输出验证//2,利用序号->洗牌->发牌//

//获取双列map集合中的所有key值

Set key =poker.keySet();//利用有参构造方法来初始化单列List集合

List pokerNum = newArrayList(key);//System.out.println(pokerNum);//获取所有key值完毕

Collections.shuffle(pokerNum);//利用三个玩家容器和一个底牌容器存储(容器使用单列集合,便于排序,利用序号(也就是双列集合中key值)取对应的牌面就行了)

List player1 = new ArrayList<>();

List player2 = new ArrayList<>();

List player3 = new ArrayList<>();

List lastPoker = new ArrayList<>();for (int i = 0; i < pokerNum.size(); i++) {if(i >= 51) {//注意要添加的值是扑克打乱后的值,非遍历的序号值

lastPoker.add(pokerNum.get(i));

}else if(i % 3 == 1){

player1.add(pokerNum.get(i));

}else if(i % 3 == 2) {

player2.add(pokerNum.get(i));

}else{

player3.add(pokerNum.get(i));

}

}//发牌完毕,整理牌面

Collections.sort(lastPoker);

Collections.sort(player1);

Collections.sort(player2);

Collections.sort(player3);//3.利用玩家获得牌面的序号,取牌//每个玩家遍历一次

System.out.print("底牌:");for(Integer i : lastPoker) {

String str=poker.get(i);

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

}

System.out.println();

System.out.print("玩家1:");for(Integer i : player1) {

String str=poker.get(i);

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

}

System.out.println();

System.out.print("玩家2:");for(Integer i : player2) {

String str=poker.get(i);

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

}

System.out.println();

System.out.print("玩家3:");for(Integer i : player3) {

String str=poker.get(i);

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

}

}

}

java斗地主代码花色,集合经典案例:斗地主发牌功能实现相关推荐

  1. Java基础加强重温_05:Iterator迭代器、增强for循环、集合综合案例-斗地主、数据结构(栈、队列、数组、链表、红黑树)、List接口、Set接口

    摘要: Java基础加强重温_05: Iterator迭代器(指针跟踪元素). 增强for循环(格式.底层). 集合综合案例-斗地主(代码规范抽取代码,集合元素打乱). 数据结构[栈(先进后出,子弹夹 ...

  2. java中的基本小程序_12个用Java编写基础小程序经典案例(收藏篇)

    原标题:12个用Java编写基础小程序&经典案例(收藏篇) 如果是刚接触或者刚学习java,练习一些基础的算法还是必须的,可以提升思维和语法的使用. 1.输出两个int数中的最大值 impor ...

  3. java连接数据库代码查询music表和斗地主排序

    斗地主排序代码 package com.zhongruan;import java.util.*;public class DouDiZhu2 {public static void main(Str ...

  4. Java编程基础30——SE经典案例

    方法的概念 class JavaObject {public static void main(String [] args) {int sum = add(10,20); //第一步:赋值调用,调用 ...

  5. Java基础-数组深入之经典案例实现-点名器

    经典案例实现-点名器 运行代码,随机打印班级同学名字 //1.数组存储姓名,用String数据类型 String[] names={"杰克","戴维琼斯",&q ...

  6. java大作业斗地主游戏_Java集合练习:斗地主游戏

    这是一个模拟斗地主的小游戏,最后看到的牌型是经过排序的,具体代码和解释如下: package cn.poker_test; import java.util.ArrayList; import jav ...

  7. 【项目实战】Java POI之Word导出经典案例一

    最近项目中需要用到数据的导出到Word,本在项目中使用POI将数据导入到Word,和Excel导出类似,先将jar包导入进去(我这里就省去导jar包啦),我直接上实现过程吧! 1.导入POI jar包 ...

  8. java基础语言+面向对象_经典案例——65个

    文章目录 x++和++ //调用类 1.用户在控制台输入 3 个数值,需要找出这 3 个数值中的最小值,要求使用 if 语句来实现.系统交互信息如图所示: 2// 正三角形 表达式 3算术运算代码: ...

  9. java时钟代码_一个经典的JAVA APPLET时钟程序(一)

    转眼间一年又要过了,自己又老了一岁,郁闷啊.趁着还有几分钟才新年,赶快再发几篇文章,给过去的一年添点东西. 该程序是从网上发现的,是一个简单的时钟显示程序. 代码特色: 时钟代码提供了各种接口,可以在 ...

最新文章

  1. 炫酷的元素周期表html,HTML5 经典化学元素周期表
  2. System.DBNull
  3. mod php是什么意思,mod函数是什么意思
  4. DRF——路由控制器
  5. delphi DLL动态链接库
  6. art-template模板引擎详解
  7. 解决QQ可以登录但是网页打不卡 ,提示代理服务器拒绝连接 的问题。
  8. 一年四个P(Project)
  9. msdn原版系统和原版office
  10. Rational Team Concert 的使用
  11. 我在 B 站挖到了 9 款深藏不露的工具,每个都好用到爆!
  12. 【数据分析与可视化】Python的input和output
  13. Android读书笔记
  14. Log4j2官方文档翻译--欢迎使用Log4j2!
  15. spring clude ---服务网关组件Netflix Zuul
  16. APICloud 多端开发 | 拼团商城项目开发难点
  17. CS224n_2019_Assignment1: Exploring Word Vectors Coding Solution
  18. 在线抽签html,简易抽签程序(数字滚动 HTML + JavaScript)
  19. mysql error 11_mysqld报InnoDB: Unable to lock ./ibdata1 error: 11
  20. mono移植到鸿蒙,读懂华为鸿蒙操作系统:5G前夜 未来生态的惊鸿一瞥

热门文章

  1. 2008年度中国最佳MBA排行榜
  2. Stack overflow (CVF, IVF)
  3. 计算机的配件知识,最基本的入门知识:电脑由哪些部件组成?
  4. 响铃:揭底滴滴们跨界营销“真相”,再教你玩一出好戏
  5. 2022 年前面试总结与感悟分享
  6. P4218 [CTSC2010]珠宝商
  7. 一个矩阵与单位矩阵相乘等于本身吗?并且符合交换律吗?
  8. R语言 霍尔特指数平滑法(Holt)
  9. SRP Batcher:提升您的渲染性能
  10. 计算机入门在线阅读,计算机应用基础教程(Windows 7+Office 2010)