java 编写扑克牌洗牌,java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习
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 集合练习相关推荐
- java编写存钱_用Java编写一个简单的存款
package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...
- 写缓存java,编写线程安全的Java缓存读写机制 (原创)
一种习以为常的缓存写法: IF value in cached THEN return value from cache ELSE compute value save value in cache ...
- java编写管理系统_用java编写学生信息管理系统
<用java编写学生信息管理系统>由会员分享,可在线阅读,更多相关<用java编写学生信息管理系统(7页珍藏版)>请在人人文库网上搜索. 1.用java编写学生信息管理系统im ...
- 用java编写圆锥_求java大神帮忙 求大神帮助!Java
导航:网站首页 > 求java大神帮忙 求大神帮助!Java 求java大神帮忙 求大神帮助!Java 相关问题: 匿名网友: 普通类 public class CircularA { //求圆 ...
- java 编写方法和属性,Java类属性及方法的定义
文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...
- java编写家庭收支记录,Java家庭收支记账小项目(java基础)
Java家庭收支记账小项目(java基础) Java家庭收支记账小项目(java基础) 需求说明: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支 ...
- 怎样用java编写日志_用JAVA写一个日志类程序以供大家学习
中华网络安全联盟 作者:jacoo 来源:本站原创 时间:2006-4-18 说明: 尽管JAVA类库和其他工具提供了不少的纪录程序运行状态的日志类,我发觉也 不是万能的,有时需要根 ...
- java编写流星_纯Java代码实现流星划过天空
废话不多说了,直接给大家贴java代码了. import java.awt.Color; import java.awt.Graphics; import java.awt.image.Buffere ...
- 用java编写计算器_用Java编写一个简单的计算器
1.使用记事本或eclipse等编程工具,建立一个图形界面应用程序. 2.程序完成简单的四则计算功能 3.用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按 ...
- 用java编写计算器_用JAVA编写一个计算器
展开全部 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.aw ...
最新文章
- 分别用Eigen和C++(OpenCV)实现图像(矩阵)转置
- 为什么阿里巴巴要禁用 Executors 创建线程池?
- pandas一维度数据操作
- Poptset学员之牛奶咖啡糖
- twitter 监控登陆活动
- 判断一个字符串的所有字符是否都在另一个字符串中
- Python subprocess执行持续输出shell命令的控制
- 2018ACM-ICPC Asia Nanjing Regional Contest
- 用webstorm在chrome 调试页面时一直弹出 copy authorization url to clipboard
- Skype For Business 2015实战系列14:创建Office Web App服务器场
- 漫步最优化三十九——Fletcher-Reeves法
- retrofit封装
- convex optimization from stanford
- 帝国理工 计算机 金融和管理,计算机毕业生同样研读帝国理工金融工程
- 机器学习中常见的最优化方法
- 服务器远程登录工具、文件运行以Python为例
- HTML5 学习准备
- python怎么算列表的平方_总算明了python如何求平方
- fri信号重构-sinc核滤波
- oracle 查看时间对应周,oracle数据获取当前自然周,当前周的起始和结束时间
热门文章
- Pandas读取csv
- 人民币持续升值,百姓感受渐深
- 奥克兰大学商学院计算机专业,【奥克兰大学商学院有什么专业】 - 教外新西兰留学网...
- 在MATLAB绘制三角形区域上的二元函数图像
- vue下载二进制流图片
- IDEA 不检查语法错误问题
- 利用计算机名称共享打印机步骤,如何连接共享打印机汇总教程
- 国外计算机cpu排行,处理器天梯图2020 电脑cpu处理器性能排行榜
- 发送邮件被对方服务器退回_如何更好地给老外发邮件,可以了解下
- 联想台式计算机 恢复出厂设置,联想台式机电脑bios如何恢复出厂设置|联想台式机bios恢复出厂设置的方法...