import java.util.LinkedList;
import java.util.Random;
//扑克类
class Poker{
    String color;//花色
    String num;//点数
    public Poker (String color,String num) {
        this.color=color;
        this.num =num;
    }
    public String toString() {
        return "{"+color+num+"}";
    }
}

public class Demo{
    public static void main(String[] args) {
        LinkedList<Poker> pokers=createPoker();
        showPoker(pokers);
        System.out.println("洗牌,洗牌。。。");
        sufflePoker(pokers);
        showPoker(pokers);
    }
    //生成一副扑克
    public static LinkedList<Poker> createPoker() {
        LinkedList<Poker> list=new LinkedList<Poker>();
        String []color={"黑桃","红桃","梅花","方块"};
        String []num={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        for (int i = 0; i < color.length; i++) {
            for (int j = 0; j < num.length; j++) {
                list.add(new Poker(color[i], num[j]));
            }
        }
        return list;
    }
    //更好展示扑克
    public static void showPoker(LinkedList<Poker> pokers){
        for (int i = 0; i < pokers.size(); i++) {
            System.out.print(pokers.get(i));
            if (i%13==12) {
                System.out.println();//换行
            }   
        }
    }
    //洗扑克功能
    public static void sufflePoker(LinkedList<Poker> pokers) {
        Random random=new Random();//创建随机数对象
        for (int i = 0; i < 100; i++) {//实现多次洗牌
            //随机产生两个索引值
            int index1=random.nextInt(pokers.size());
            int index2=random.nextInt(pokers.size());
            //根据索引值取出两张牌,然后交换两张牌的顺序
            Poker poker1=pokers.get(index1);
            Poker poker2=pokers.get(index2);
            pokers.set(index1, poker2);
            pokers.set(index2, poker1);
        }   
    }
}

如何生成一副Poker的更多相关文章

  1. 音视频入门-12-手动生成一张PNG图片

    * 音视频入门文章目录 * 预热 上一篇 [PNG文件格式详解]详细介绍了 PNG 文件的格式. PNG 图像格式文件由一个 8 字节的 PNG 文件署名域和 3 个以上的后续数据块(IHDR.IDA ...

  2. 输入一个正整数n,生成一张2的乘方表,输出2*0—2*n的值。

    #include<stdio.h>#include<math.h> //程序中调用幂函数pow(),需包含头文件math.h//void main(){ int i,n; pr ...

  3. Python中 将数据插入到Word模板并生成一份Word

    搬运出处: https://blog.csdn.net/DaShu0612/article/details/82912064

  4. 音视频入门-18-手动生成一张GIF图片

    * 音视频入门文章目录 * GIF 编码知识 GIF 包含的数据块: 文件头(Header) 逻辑屏幕标识符(Logical Screen Descriptor) 全局颜色表(Global Color ...

  5. 网站统计中的数据收集原理及实现(share)

    转载自:http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html 网站数据统计分析工 ...

  6. 使用nginx lua实现网站统计中的数据收集

    导读网站数据统计分析工具是各网站站长和运营人员经常使用的一种工具,常用的有 谷歌分析.百度统计和腾讯分析等等.所有这些统计分析工具的第一步都是网站访问数据的收集.目前主流的数据收集方式基本都是基于ja ...

  7. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  8. Real-Rime Rendering (1) - 渲染管线(Rendering Pipeline)

    提要 渲染管线是实时渲染中最重要的部分,它的最主要的任务就是在给定一个虚拟的场景,包括相机,object,灯光,纹理等等,生成一副2D的图像. 最基础的渲染管线如下图所示: 主要的阶段包括三个:App ...

  9. 关于Test--Pattern Generator IP核的测试

    关于Test--Pattern Generator IP核的测试 1.Test--Pattern Generator 功能介绍 生成24-bit RGB视频流,此IP核可以用于系统测试,不需要先在片上 ...

随机推荐

  1. 关于hibernate的实体类中有集合类型转化成JSON的工具类 - 怀念今天的专栏 - 博客频道

    Json 来源:http://blog.csdn.net/zczzsq/article/details/18697045#1536434-hi-1-4387-42d97150898b1af15ddaa ...

  2. IDEA 整合Junit实现自动生成测试代码

    1.安装插件 junit generator 重启IDEA,完成安装. 2. 选中需要测试的方法,按alt + insert 即可自动生成测试类\方法 3. 设置

  3. edx 配置smtp发送邮件

    参考文章:https://github.com/CDOT-EDX/ProductionStackDocs/wiki/Enable-SMTP-for-EDX-(Production-Stack) 具体到 ...

  4. IEHelper - Internet Explorer Helper Class

    http://www.codeproject.com/Articles/4411/IEHelper-Internet-Explorer-Helper-Class Discussions (81) IE ...

  5. c#执行并行任务之Parallel与TaskFactory

    任务:几千条(大量)数据往服务器数据库填写.要求单开线程执行,分割成小数据包,多线程运行. 实现方法:Parallel与TaskFactory都可以. 主要代码: Parallel: Barrier ...

  6. POI导出数据内存溢出问题

    POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好.3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWo ...

  7. 函数fsp_alloc_free_page

    从fsp中分配32个碎片页 /**********************************************************************//** Allocates ...

  8. ASP.NET 導入Excel

    常常碰到這種需求,為了避免自己每次寫Code都要東翻西找Sample,乾脆丟上來當備份 此外,也為了方便網路上的大大們Copy Paste方便,小弟已經順便標示要複製程式碼的起始結束位置 在歡樂的貼程 ...

  9. BZOJ_[HNOI2008]_Cards_(置换+Burnside引理+乘法逆元+费马小定理+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1004 共n个卡片,染成r,b,g三种颜色,每种颜色的个数有规定.给出一些置换,可以由置换得到的 ...

  10. iOS频繁打开相册崩溃: ALAssetsLibrary error - “Too many contexts. No space in contextList.”

    iOS频繁打开相册崩溃: ALAssetsLibrary error - “Too many contexts. No space in contextList.” http://stackoverf ...