packagecom.swift.poker;importjava.util.ArrayList;importjava.util.Collections;/*训练考核知识点:Collection接口的基本方法、

训练描述:

按照斗地主的规则,完成洗牌发牌的动作。

具体规则:

使用54张牌打乱顺序

三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。

操作步骤描述:

?准备牌:

牌可以设计为一个ArrayList,每个字符串为一张牌。

每张牌由花色数字两部分组成,我们可以使用花色集合与数字集合嵌套迭代完成每张牌的组装。

牌由Collections类的shuffle方法进行随机排序。

?发牌:

将每个人以及底牌设计为ArrayList,将最后3张牌直接存放于底牌,剩余牌通过对3取模依次发牌。

?看牌:

直接打印每个集合*/

public classPoker {public static voidmain(String[] args) {

ArrayList huase=new ArrayList();

huase.add("?");

huase.add("?");

huase.add("?");

huase.add("方片");

ArrayList shuzi=new ArrayList();

shuzi.add("A");

shuzi.add("2");

shuzi.add("3");

shuzi.add("4");

shuzi.add("5");

shuzi.add("6");

shuzi.add("7");

shuzi.add("8");

shuzi.add("9");

shuzi.add("10");

shuzi.add("J");

shuzi.add("Q");

shuzi.add("K");

ArrayList puke=new ArrayList();for(String hua:huase) {for(String shu:shuzi) {

puke.add(hua+shu);

}

}

puke.add("大王");

puke.add("小王");for(String str:puke) {

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

}//随机洗牌

Collections.shuffle(puke);

System.out.println();for(String str:puke) {

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

}//发牌

ArrayList player1=new ArrayList();

ArrayList player2=new ArrayList();

ArrayList player3=new ArrayList();

ArrayList dipai=new ArrayList();for(int i=0;i<54;i++) {if(i<3) {

dipai.add(puke.get(i));

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

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

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

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

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

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

}

}//看牌

look(player1);

look(player2);

look(player3);

look(dipai);

}private static void look(ArrayListpai) {

System.out.println();for(String str:pai) {

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

}

System.out.println();

}

}

java 编写扑克牌洗牌,java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习相关推荐

  1. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  2. 写缓存java,编写线程安全的Java缓存读写机制 (原创)

    一种习以为常的缓存写法: IF value in cached THEN return value from cache ELSE compute value save value in cache ...

  3. java编写管理系统_用java编写学生信息管理系统

    <用java编写学生信息管理系统>由会员分享,可在线阅读,更多相关<用java编写学生信息管理系统(7页珍藏版)>请在人人文库网上搜索. 1.用java编写学生信息管理系统im ...

  4. 用java编写圆锥_求java大神帮忙 求大神帮助!Java

    导航:网站首页 > 求java大神帮忙 求大神帮助!Java 求java大神帮忙 求大神帮助!Java 相关问题: 匿名网友: 普通类 public class CircularA { //求圆 ...

  5. java 编写方法和属性,Java类属性及方法的定义

    文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...

  6. java编写家庭收支记录,Java家庭收支记账小项目(java基础)

    Java家庭收支记账小项目(java基础) Java家庭收支记账小项目(java基础) 需求说明: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支 ...

  7. 怎样用java编写日志_用JAVA写一个日志类程序以供大家学习

    中华网络安全联盟    作者:jacoo    来源:本站原创    时间:2006-4-18 说明: 尽管JAVA类库和其他工具提供了不少的纪录程序运行状态的日志类,我发觉也 不是万能的,有时需要根 ...

  8. java编写流星_纯Java代码实现流星划过天空

    废话不多说了,直接给大家贴java代码了. import java.awt.Color; import java.awt.Graphics; import java.awt.image.Buffere ...

  9. 用java编写计算器_用Java编写一个简单的计算器

    1.使用记事本或eclipse等编程工具,建立一个图形界面应用程序. 2.程序完成简单的四则计算功能 3.用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按 ...

  10. 用java编写计算器_用JAVA编写一个计算器

    展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.aw ...

最新文章

  1. 开会迟到,代码不规范,晚上八点半去健身,跟leader坐电梯自己先出去!某新入行程序员被疯狂吐槽!...
  2. [Android]上传到多个Maven仓库的Gradle插件RapidMavenPushPlugin
  3. oracle rac 通信端口,修改oracle 10g rac监听端口号为1523的步骤
  4. python程序代码大全-调试Python程序代码的几种方法总结
  5. UA MATH566 统计理论 位置-尺度参数族
  6. [面向对象] ABAP中类重构助手Refactoring Assitant
  7. NAACL 2021 | QA-GNN:基于语言模型和知识图谱的问答推理
  8. java 程序执行后 强制gc_【GC系列】JVM的常用GC参数及GC日志解析
  9. Verilog HDL语言设计实现过程赋值+译码器
  10. jwt 私钥_三分钟带你了解JWT认证
  11. excel打印预览在哪里_excel预览打印超出范围该怎么办呢?
  12. 驾照科二科三训练总结
  13. php新浪微博开发平台,PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用
  14. 信息学奥赛一本通|1194:移动路线
  15. 64位 Fedora 11 硬盘安装 配置全解
  16. saltstack python3_SaltStack事件驱动(3) – BEACONS
  17. window10删除2345流氓软件
  18. Android WebView 踩坑日记,字体怎么突然变小了???
  19. 三表子查询IN和distinct的运用
  20. java rtc alarm_rtc关机闹钟4 AlarmManagerService.java

热门文章

  1. qq邮箱收不到通知邮件的解决方法
  2. ElasticSearch创建索引映射文档+IK分词器
  3. 【转载】django-数据库[ 配置 ]
  4. 世界十大极限运动是什么
  5. [Kaldi] MFCC特征提取源码详解
  6. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1160/1170)...
  7. vmware死机,mvx.exe进程关不掉情况
  8. 网站域名被墙(被封锁、被屏蔽、被和谐)后最好的解决方法
  9. 英语论文应该怎么查重?
  10. 石墨烯气凝胶的3D打印-气凝胶(Aerogels)是世界上最轻的材料之一,石墨烯气凝胶(Graphene aerogel)又是该品类中最轻的一种