利用Java的ArrayList实现随机给三个人发扑克牌

import java.util.ArrayList;
import java.util.List;
import java.util.Random;class Card{private int rank;private String suit;public Card(int rank, String suit) {this.rank = rank;this.suit = suit;}@Overridepublic String toString() {return "[ " + this.suit +" : "+this.rank + " ]";}
}public class TestDemo {private static final String[] suits = {"♥","♠","♣","♦"};public static List<Card> buyCard() {ArrayList<Card> cards= new ArrayList<>();for (int i = 0; i < 4; i++) {for (int j = 0; j < 13; j++) {cards.add(new Card(j,suits[i]));}}return cards;}private static void swap(List<Card> cards ,int i ,int j){Card tmp = cards.get(i);cards.set(i,cards.get(j));cards.set(j,tmp);}public static void shuffle(List<Card> cards){int size = cards.size();for (int i = size - 1; i > 0; i--) {Random random = new Random();int rand = random.nextInt(i);swap(cards,i,rand);}}public static void main(String[] args) {List<Card> cards = buyCard();shuffle(cards);//System.out.println(cards);ArrayList<List<Card>> hand = new ArrayList<>();ArrayList<Card> hand1 = new ArrayList<>();ArrayList<Card> hand2 = new ArrayList<>();ArrayList<Card> hand3 = new ArrayList<>();hand.add(hand1);hand.add(hand2);hand.add(hand3);for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {Card card = cards.remove(0);hand.get(j).add(card);}}System.out.println("the first people's cards :" + hand1);System.out.println("the second people's cards :" + hand2);System.out.println("the third people's cards :" + hand3);System.out.println("the rest cards :" + cards);}
}

Java实现扑克牌自动发牌系统相关推荐

  1. java计算机毕业设计自动评测系统源码+mysql数据库+系统+部署+lw文档

    java计算机毕业设计自动评测系统源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计自动评测系统源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构:B/S架构 开 ...

  2. java 试卷自动生成_基于JAVA的试题自动生成系统 - WEB源码|JSP源码/Java|源代码 - 源码中国...

    压缩包 : 试卷自动生成系统.rar 列表 试卷自动生成系统/.classpath 试卷自动生成系统/.project 试卷自动生成系统/bin/Db/Sql.class 试卷自动生成系统/bin/f ...

  3. R语言构造扑克牌自动发牌,洗牌

    在R语言构建自动洗牌,发牌 要求:自动洗牌.发牌 任务一:创建一副牌.学会如何使用R的数据类型和数据结构. 任务二:编写发牌和洗牌的函数.学习从一个数据集中抽取想要的数值. 首先需要创建一副牌(不包括 ...

  4. 用c语言实现《狼人杀》发牌系统【可自选模式】

    目录 1.前言 2.程序效果 3.完整代码 1.前言 新年将至,亲戚朋友在家中免不了玩一下桌游,狼人杀确实是一个不错选择.那么针对正常的狼人杀玩法(8人局和12人局),博主利用一上午时间做了一个< ...

  5. 发牌游戏 java_解析扑克牌游戏发牌算法——java实现

    我们都玩过扑克牌的小游戏,有没有想过扑克牌的发牌是怎样实现的呢? 首先,我们手里有一副牌,假设去掉大小鬼,我们手里的牌用数字1-52表示.我们每次只取出一个数字,那我们如何取出这些数字并且使每次取出的 ...

  6. java扑克牌随机发牌_Java练习——扑克牌发牌器

    Java练习--扑克牌发牌器 声明:学习自其他博主,感谢分享,这里自己也写了一下. 实现思路 - 构建一张扑克牌 - 构建一套扑克牌 - 测试 构建一张扑克牌 /***@author冬冬 * 定义一个 ...

  7. java斗地主发牌_java实现斗地主发牌系统

    本文实例为大家分享了java实现斗地主发牌系统的具体代码,供大家参考,具体内容如下 玩家类 package com.softeem.example; import java.util.ArrayLis ...

  8. 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计

    <小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...

  9. 自动售票系统 自动存取款机系统 java基础题

    自动售票系统  import java.util.Scanner; public class BuyTicket { public static void main(String[] args){ i ...

最新文章

  1. 深度学习--TensorFlow(4)BP神经网络(损失函数、梯度下降、常用激活函数、梯度消失梯度爆炸)
  2. 长沙.NET社区之光
  3. LeetCode 3:无重复字符的最长子串 思考分析
  4. 二级计算机java2017级_2017计算机等级二级考试java练习题及答案
  5. Navicat连接虚拟机Linux的数据库时,出现错误代码“10038”
  6. Windows下Tuxedo的安装与配置-无数据库
  7. Centos 7.0 的svn
  8. Wordpress SEO 搜索引擎优化
  9. 给定一个球体的半径,计算其体积。其中球体体积公式为 V = 4/3*πr3,其中 π= 3.1415926。
  10. android 编写计时器,Android用5种方式实现自定义计时器, 哪种才是你的菜?
  11. 波士顿大学计算机科学与技术专业,BU波士顿大学计算机信息系统硕士Master of Science in Computer Information Systems...
  12. 浅谈企业数据安全风险
  13. RabbitMQ下载安装
  14. js中Array对象。concat,concat,pop,push,reserve,shift,slice,splice,toString,toLocaleString,unshift
  15. 使用Easyexcel对Excel进行读写操作
  16. 如何创建数据透视表的方法
  17. 【网页制作】制作静态钟表
  18. 微信交电费访问服务器失败,微信怎么交电费?操作步骤,常见问题说明
  19. 阿里云linux远程SSH登录和 vnc Login incorrect
  20. win10安装解压版mysql详细教程

热门文章

  1. 用golang写socks5代理服务器2-ssh远程代理
  2. C++ 实现Variant类
  3. 用java –jar 命令运行Jar包
  4. java header接口_【分享】接口测试-header头部详解
  5. COMPOSITION PRACTICE-1
  6. CTO的职责和必备能力
  7. genymotion 个人免费版安装教程
  8. Camunda工作流引擎一
  9. java Thumbnails处理图片
  10. BroadcastReceiver中onReceive()方法中需要注意什么