源码:

//Fig. 16.10: DeckOfCards.java
//Card shuffling and dealing with Collections method shuffle.
import java.util.List;
import java.util.Arrays;
import java.util.Collections;//class to represent a Card in a deck of cards
class CardCN
{
public static enum Face {A, 二, 三, 四, 五, 六,七, 八, 九, 十, 杰克, 皇后, 国王};
public static enum Suit {梅花, 方块, 红心, 黑桃};private final Face face;
private final Suit suit;// constructor
public CardCN(Face face, Suit suit)
{  this.face = face;this.suit = suit;
} // return face of the card
public Face getFace()
{return face;
} // return suit of Card
public Suit getSuit()
{return suit;
} // return String representation of Card
public String toString()
{return String.format("%s%s",suit,face);
}
} // end class Card//class DeckOfCards declaration
public class DeckOfCardsCN
{
private List<CardCN> list; // declare List that will store Cards// set up deck of Cards and shuffle
public DeckOfCardsCN()
{CardCN[] deck = new CardCN[52];int count = 0; // number of cards// populate deck with Card objectsfor (CardCN.Suit suit : CardCN.Suit.values())  {for (CardCN.Face face : CardCN.Face.values())   {deck[count] = new CardCN(face, suit);++count;} } list = Arrays.asList(deck); // get ListCollections.shuffle(list);  // shuffle deck
} // end DeckOfCards constructor// output deck
public void printCards()
{// display 52 cards in two columnsfor (int i = 0; i < list.size(); i++)System.out.printf("%-19s%s", list.get(i),((i + 1) % 4 == 0) ? "\n" : "");
} public static void main(String[] args)
{DeckOfCardsCN cards = new DeckOfCardsCN();cards.printCards();
}
} // end class DeckOfCards

运行结果(对齐没处理好,暂且这样吧):

PS C:\01.iworkspace\eclipseWorkspace\jhtp_2017\bin> java ch16_genericCollections.DeckOfCardsCN
梅花六                梅花A                黑桃六                红心国王
红心七                方块十                黑桃A                黑桃皇后
黑桃四                梅花国王               方块三                黑桃七
红心六                黑桃二                方块六                梅花二
红心五                红心三                梅花四                方块二
黑桃五                黑桃三                方块五                方块九
方块四                黑桃国王               梅花皇后               梅花八
黑桃九                方块皇后               红心二                黑桃十
梅花三                黑桃杰克               方块杰克               梅花杰克
方块八                红心八                红心A                方块A
梅花七                红心四                红心皇后               黑桃八
红心杰克               梅花五                梅花十                方块国王
梅花九                红心十                红心九                方块七

Java源码——一个简单的洗牌(shuffling)程序 (Card shuffling and dealing with Collections method shuffle)相关推荐

  1. 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)

    模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...

  2. 学以致用——Java源码——使用随机几何图形制作屏保程序(Screen Saver with Shapes Using the Java 2D API)

    程序功能: 使用随机输出的几何图形作为屏保程序,用户可随时指定屏幕上要显示的图形元素的数量. 运行示例: 源码: 1. 实体类 import java.awt.Graphics; import jav ...

  3. c4droid语言实现窗口,【图片】[c4droid源码]一个简单的计算器源码_c4droid吧_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //弧度转角度 //接楼上 double htoj(double a) { return 180*a/P; } //产生0~1之间的浮点随机数 doubl ...

  4. PaperWork php源码,一个开源记笔记/存档的程序:Paperwork

    刚才在loc看到一个求推荐记笔记软件的帖子,一直想找个记笔记软件的我,感觉看到了新大陆,原来除了印象笔记以外还有这么多开源的可以自建服务的记笔记软件... 大概看了下,感觉这个Paperwork应该还 ...

  5. 一步一步oa办公系统java,OA项目 一个OA办公系统的java源码 联合开发网 - pudn.com

    OA项目 所属分类:OA系统 开发工具:Java 文件大小:599KB 下载次数:9 上传日期:2018-06-10 18:13:39 上 传 者:renton 说明:  一个OA办公系统的java源 ...

  6. 支持多代理,多学校的JAVA智慧校园系统源码(SaaS+电子班牌APP)

    智慧校园源码-全面助力"智慧校园" 将新型数字化技术与教学.科研.校园生活充分融合: 建设校园生态圈,校内万物互联,全面数字化管控,大数据实时呈现 校领导.教师.学生.家长,都将成 ...

  7. 不满你说,我最近跟Java源码杠上了...

    小A 你好面试官,非常高兴能参加今天的面试 面试官 没事,先做一个自我介绍吧 小A 我叫小A,工作三年了,做过...... 面试官 嗯,好的,看到你的项目这块,在公司主要用的就是spring全家桶相关 ...

  8. Java源码详解五:ArrayList源码分析--openjdk java 11源码

    文章目录 注释 类的继承与实现 构造函数 add操作 扩容函数 remove函数 subList函数 总结 本系列是Java详解,专栏地址:Java源码分析 ArrayList 官方文档:ArrayL ...

  9. Java源码详解三:Hashtable源码分析--openjdk java 11源码

    文章目录 注释 哈希算法与映射 线程安全的实现方法 put 操作 get操作 本系列是Java详解,专栏地址:Java源码分析 Hashtable官方文档:Hashtable (Java Platfo ...

  10. Java源码详解二:HashMap源码分析--openjdk java 11源码

    文章目录 HashMap.java介绍 1.HashMap的get和put操作平均时间复杂度和最坏时间复杂度 2.为什么链表长度超过8才转换为红黑树 3.红黑树中的节点如何排序 本系列是Java详解, ...

最新文章

  1. AS3中 is,as,typeof的区别 .
  2. PyTorch 1.10正式版上线了!附相关资源
  3. nodejs redis 发布订阅_太赞了:Spring boot+redis实现消息发布与订阅
  4. 智能机浏览器版本信息获取
  5. OpenJudge NOI 1.8 24:蛇形填充数组
  6. maccmsv10 苹果cms10 站群扩展 自用版
  7. Android应用程序管理系列(一)——管理对象封装概述
  8. Dr Robot 2015.6—7月
  9. 博达路由器如何配置互联网ip_如何成为技术大牛第七步——路由器下接交换机单臂路由配置方法...
  10. RecordBatch分析
  11. Javascript是最好的编程语言吗?
  12. http状态码竟然可以这样记
  13. 软件工程-基本流程图
  14. 达梦(DM)数据库常见问题详解
  15. MySQL数据库入门(十)多表复杂查询练习及讲解-下
  16. 洛谷1146 硬币翻转
  17. 搭建 Cobbler 无人值守安装服务器
  18. 彻底搞懂为什么重写equals还要重写hashcode?
  19. JVM - 直接内存
  20. xshell 5评估期已过,不能使用的解决办法

热门文章

  1. idea提示红色但是代码没有错误,编译通过
  2. 页错误处理 Page Fault Handling
  3. 【Digger爬虫系列】用Digger抓取taptap游戏排行榜
  4. [转载]程序员去面试的梗!面试官:“哦了,明天来上班吧”
  5. 【C】C语言文件(包括:文件各种读写方式)
  6. basic计算机编程基础,计算机编程基础(Visual Basic)
  7. 可达编程 [语言题]中国身份证号码校验
  8. 虚拟机macos系统共享文件
  9. The system proxy was changed. Click to reenable capturing.
  10. python实现百度语音合成(超详细!!)