这段代码的主要实现功能扑克牌的洗牌和发牌功能,一副牌,红桃,黑桃,梅花,方片,A~K,不含大小王。

构造一个class。

首先是声明花色:

private String[] sign={"方片","红桃","黑桃","梅花"};//扑克的四种花色

然后是洗牌功能,意味花色与A~K结合构造成顺序的52张扑克牌,构造一个ArrayList对象存储扑克牌的值。

private static ArrayList List;

接下来再类中实现此方法,构造出一副扑克牌。

public voidInit(){

List= newArrayList();for(String str:sign){for(int i = 1;i<=13;i++){

String extra_sign= ""; //将数字与扑克匹配

if(i == 1){

extra_sign= "A";

List.add(str+extra_sign);

}else if(i == 11){

extra_sign= "J";

List.add(str+extra_sign);

}else if(i == 12){

extra_sign= "Q";

List.add(str+extra_sign);

}else if(i == 13){

extra_sign= "K";

List.add(str+extra_sign);

}else{

List.add(str+i);

}

}

}

}

此时衣服扑克牌已经构造完成,接下来通过方法实现扑克牌的乱序发放到四人的手中。

public voidHands(){int i = 0,j=0;

Collections.shuffle(List);//Collection类中的shuffle方法将<List>乱序排列

for(String str:List){if(j == 4)break;if(i == 0){

hands[j]= str+" ";

i++;

}//这里不使用for(i<13){//hands[j] = str+" ";//i++;//}是因为第一个下标为0的元素为null,所以多了一步判断

if(0

hands[j]+=str+" ";

i++;

}else{

i= 0;

j++;

}

}

}

洗牌和分牌步骤已经完成,下面贴上完整代码:

packagecom;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Iterator;public classPokes {private String[] sign={"方片","红桃","黑桃","梅花"};private static String[] hands = new String[4];private static ArrayListList;

Pokes(){

}public voidInit(){

List= newArrayList();for(String str:sign){for(int i = 1;i<=13;i++){

String extra_sign= "";if(i == 1){

extra_sign= "A";

List.add(str+extra_sign);

}else if(i == 11){

extra_sign= "J";

List.add(str+extra_sign);

}else if(i == 12){

extra_sign= "Q";

List.add(str+extra_sign);

}else if(i == 13){

extra_sign= "K";

List.add(str+extra_sign);

}else{

List.add(str+i);

}

}

}

}public voidHands(){int i = 0,j=0;

Collections.shuffle(List);for(String str:List){if(j == 4)break;if(i == 0){

hands[j]= str+" ";

i++;

}if(0

hands[j]+=str+" ";

i++;

}else{

i= 0;

j++;

}

}

}public static voidmain(String[] args) {

Pokes p= newPokes();

p.Init();

p.Hands();

System.out.println(hands[0]);

System.out.println(hands[1]);

System.out.println(hands[2]);

System.out.println(hands[3]);

}

}

通过debug结果如下:

第一次输出结果:

黑桃2 黑桃2 红桃A 红桃8 黑桃9 黑桃7 梅花4 梅花8 黑桃5 梅花3 红桃10 方片Q 方片K

黑桃6 黑桃6 方片8 红桃4 红桃7 黑桃3 梅花K 红桃J 黑桃J 梅花2 梅花10 红桃Q 方片9

方片A 方片A 梅花Q 黑桃8 梅花J 红桃3 方片3 红桃6 红桃2 方片7 梅花9 红桃5 梅花5

方片6 方片6 梅花A 红桃K 黑桃K 方片10 黑桃A 梅花7 方片J 梅花6 方片5 黑桃10 红桃9

第二次输出结果:

黑桃10 黑桃10 红桃5 黑桃7 方片3 方片Q 红桃8 方片6 梅花5 方片9 方片2 红桃Q 红桃9

黑桃5 黑桃5 黑桃2 红桃2 黑桃K 梅花8 梅花2 黑桃9 红桃7 黑桃8 红桃6 梅花9 黑桃6

红桃10 红桃10 梅花3 黑桃A 梅花10 方片7 方片10 黑桃4 黑桃Q 梅花7 红桃K 黑桃3 红桃3

梅花6 梅花6 梅花A 梅花K 红桃A 梅花J 方片8 红桃J 黑桃J 方片4 方片A 红桃4 方片5

简单的Java扑克牌程序,初始化构造一副扑克牌,利用Collection.shuffle(<List>)将List中的元素打乱顺序,依次分配给四个String[]。

用java制作扑克牌_Java程序设计之扑克牌相关推荐

  1. java三张扑克牌_java入门三—扑克牌简易游戏

    - Player类 import java.awt.List; import java.util.LinkedList; public class Player { int id; String na ...

  2. java打印扑克牌_java实现简单扑克牌游戏

    本文实例为大家分享了java实现简单扑克牌游戏的具体代码,供大家参考,具体内容如下 扑克牌小游戏: 游戏玩法简介:定义五个People在玩扑克牌游戏,玩法是5个人从一副没有大小王的扑克牌中各抽取4张, ...

  3. 猜数字java程序设计分析_JAVA程序设计课程设计-猜数字游戏设计

    JAVA程序设计课程设计-猜数字游戏设计 课 程 设 计 报 告课程设计名称 Java 程序设计 专 业 计算机科学与技术 班 级 2 班 学 号 08030212 姓 名 指导教师 成 绩 2011 ...

  4. 签到考勤java课设_Java程序设计课程设计学生考勤系统Word版

    <Java程序设计课程设计学生考勤系统Word版>由会员分享,可在线阅读,更多相关<Java程序设计课程设计学生考勤系统Word版(6页珍藏版)>请在人人文库网上搜索. 1.传 ...

  5. java stringbuffer倒置_Java程序设计05——String和StringBuffer

    String和StringBuffer String和Stringbuffer类1.String的声明string s1="abc"; string s2 = new String ...

  6. java制作霓虹灯_Java 线程编码之霓虹灯的实现

    Java线程的实现通常要继承Thread类或者是实现接口Runnable的run方法即可. 实现代码如下: package com.android.test; import java.awt.Colo ...

  7. java 登陆系统设计_Java 程序设计——登录系统

    并发型服务器 博客展示的登录系统的服务器端,将实现重复型服务器. Client–server model 客户端-服务器模型(Client–server model)简称C/S结构,是一种网络架构.大 ...

  8. java答题软件_Java程序设计:使用软件解题

    你将学到什么 Algorithms Problem Solving String (Computer Science) Java Programming 课程概况 Learn to code in J ...

  9. java制作画布_java – 使用自定义方法绘制到画布?

    我正在编写一个 Android 2-D游戏,我遇到了一些麻烦. 目前,在我的包中,我有一个绘制画布实例的线程.我正在从资源中绘制Drawable位图.我想做的是让线程处理背景图像的绘制.但是,自定义对 ...

  10. java 随机发牌_java实现扑克牌发牌器

    Java练习--扑克牌发牌器,供大家参考,具体内容如下 声明:学习自其他博主,感谢分享 实现思路 构建一张扑克牌 构建一套扑克牌 测试 构建一张扑克牌 /** * @author 冬冬 * 定义一个单 ...

最新文章

  1. 给跳槽的人 7 点建议
  2. 取整函数和浮点计算函数,判断奇偶数,mysql序列号
  3. 论文阅读:VITON: An Image-based Virtual Try-on Network(基于图像的虚拟试衣网络)
  4. WPA无线密码破解利器EWSA/跑包软件
  5. Maven安装与Maven HelloWorld入门实例
  6. 外卖跑腿代驾小程序源码
  7. 【计算机网络】根据IP地址计算网络地址
  8. supermap mysql_SuperMap iMobile for Android定位实现
  9. 转盘抽奖图片html,html转盘抽奖
  10. 数据分析之Excel篇(三):计算统计函数
  11. 使用双重循环实现五子棋游戏棋盘的绘制
  12. 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。
  13. 关于出现“unknown uid 1000: who are you?”的问题
  14. python0为真还是假_python 中对象真和假的概念是什么
  15. 如何写一份详细的创业项目策划书
  16. 服务器如何修改vt,云服务器vt
  17. 东华大学计算机蔡博士,我院2018届博士生蔡圆获得第二届全国偏微分方程优秀博士论文奖...
  18. 工程师学乐理(二)音阶及倾向性
  19. chrome浏览器书签
  20. JetpackCompose - Scaffold布局简要入门

热门文章

  1. ion-refresher安卓移动端失效
  2. 零线和地线的区别、示波器如何测量市电
  3. [渝粤教育] 中国科学技术大学 化学实验安全知识 参考 资料
  4. Python2—0704笔记
  5. 苹果双系统怎么切换_苹果电脑双系统的好处
  6. pip安装出现Script file ‘D:\ProgramData\Anaconda3\Scripts\pip-script.py‘ is not present.
  7. Android 集成友盟统计
  8. C++中的delete——读书笔记
  9. 三年级优秀书籍推荐_三年级必读课外书5本 小学三年级必读优秀书目推荐
  10. DELPHI 旧控件安装到 DELPHI11 新版环境的操作