1. package cd.itcast.runble;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.Random;
  5.  
  6. /**
  7. * LinkedList存储一副扑克牌,实现洗牌功能。
  8. * @author 甘兴瑞
  9. * 2016/11/8
  10. */
  11. class Poker{
  12. String huase;
  13. String num;
  14.  
  15. public Poker(String huase, String num) {
  16. this.huase = huase;
  17. this.num = num;
  18. }
  19.  
  20. @Override
  21. public String toString() {
  22. return "{"+huase +num+"}";
  23. }
  24.  
  25. }
  26.  
  27. public class Demo2 {
  28. public static void main(String[] args) {
  29. LinkedList list2=createPoker();
  30. xiPoker(list2);//既可以返回linkedList,也可以不反回,使用void,因为共享对象。
  31. showPoker(list2);
  32. }
  33. public static LinkedList createPoker() {
  34. //存扑克的
  35. LinkedList list=new LinkedList();
  36. String[] arr1={"红桃","黑桃","方片","梅花"};
  37. String[] arr2={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
  38. for(int i=0;i<arr1.length;i++){
  39. for(int j=0;j<arr2.length;j++){
  40. Poker poker=new Poker(arr1[i],arr2[j]);
  41. list.add(poker);
  42. }
  43. }
  44. return list;
  45. }
  46. //显示扑克牌
  47. public static void showPoker(LinkedList pokers) {
  48. for(int i=0;i<pokers.size();i++){
  49. System.out.print(pokers.get(i));
  50. if(i%13==12){
  51. System.out.println();
  52. }
  53. }
  54. }
  55. //洗牌的功能
  56. public static void xiPoker(LinkedList Pokers) {
  57. //创建随机数对象
  58. Random ran = new Random();
  59. for(int i=0;i<100;i++){
  60. int index1 = ran.nextInt(Pokers.size());
  61. int index2 = ran.nextInt(Pokers.size());
  62. Poker poker1 = (Poker)Pokers.get(index1);
  63. Poker poker2 = (Poker)Pokers.get(index2);
  64. Pokers.set(index1, poker2);
  65. Pokers.set(index2, poker1);
  66. }
  67. }
  68. }

LinkedList存储一副扑克牌,实现洗牌功能。的更多相关文章

  1. 需求: 使用LinkedList存储一副扑克牌,然后实现洗牌功能。

    import java.util.LinkedList; import java.util.Random; /* 需求: 使用LinkedList存储一副扑克牌,然后实现洗牌功能. */ //扑克类 ...

  2. C++分享笔记:扑克牌的洗牌发牌游戏设计

    笔者在大学二年级期间,做过的一次C++程序设计:扑克牌的洗牌发牌游戏.具体内容是:除去大王和小王,将52张扑克牌洗牌,并发出5张牌.然后判断这5张牌中有几张相同大小的牌,是否是一条链,有几个同花等. ...

  3. 利用LinkedList生成一副扑克牌

    import java.util.LinkedList; import java.util.Random; //自定义一个Poker类,用于存储扑克的信息(花色.数字) class Poker{ St ...

  4. 利用LinkedList实现洗牌功能

    分2步: 1.生成扑克牌. 2.洗牌. package com.dongbin.collection; import java.util.LinkedList; import java.util.Ra ...

  5. Java模拟斗地主发牌和洗牌

    package cn.itcast_04; import java.util.ArrayList; import java.util.Collections; import java.util.Has ...

  6. C语言:判断t所指字符串中的字母是否由连续递增字母组成。-判断一个输入的任何整数n,是否等于某个连续正整数序列之和。-将一副扑克牌编号为1到54,以某种方式洗牌,这种方式是将这副牌分成两半,然后将他们交叉,并始终保持编号1的牌在最上方。

    //判断t所指字符串中的字母是否由连续递增字母组成. #include <stdio.h> #include <string.h> void NONO(); int fun( ...

  7. 用C语言实现的扑克牌洗牌程序

    一副牌:54张 从0开始排序: 0-12表示黑桃   A 1,2,3,... 10,J,Q,K 13-25表示红桃 A 1,2,3,... 10,J,Q,K 26-38表示草花 A 1,2,3,... ...

  8. 实现斗地主纸牌游戏---洗牌 发牌 看底牌的具体功能------Map集合存储方法 遍历的应用

    该Demo只是斗地主的游戏的一部分,实现的斗地主的组合牌  洗牌  发牌 看牌的功能,主要应用Map集合进行练习 package cn.lijun import java.util.ArrayList ...

  9. java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习

    package com.swift.poker; import java.util.ArrayList; import java.util.Collections; /*训练考核知识点:Collect ...

随机推荐

  1. (easy)LeetCode 205.Reverse Linked List

    Reverse a singly linked list. 解法一:记录单链表每个节点的val,然后重新为单链表赋值.(取巧,仅仅是将val部分改变,原始node节点并没有改变) 代码如下: /** ...

  2. mysql 基本使用教程(源于网络)

    http://dev.mysql.com/doc/refman/5.1/zh/index.html 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择 ...

  3. spring Integration服务总线

    最新项目中使用数据交换平台,主要通过交换平台抓取HIS数据库医生医嘱检查检验等数据以及FTP上的txt文件,html等病程文件,生成XML文件,之后通过业务系统按业务规则对数据进行处理,再将其存入数据 ...

  4. that-annoying-insert-problem-getting-data-into-the-db-using-dapper

    http://samsaffron.com/archive/2012/01/16/that-annoying-insert-problem-getting-data-into-the-db-using ...

  5. 交易Txt文件导出

    private void writeFYFileToTxt(List list, HttpServletRequest request, String drxh, FileOutputStream f ...

  6. java中好玩的案例

    1:实现猜数字游戏, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序. 最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户. 代码: Random random = new Random( ...

  7. HRBUST1530

    链接 http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1530 这个是典型的二分题,题 ...

  8. Appium环境搭建Java篇

    1.下载.安装JDK&配置Java环境变量 JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html ...

  9. CODESOFT对话框中的显示字体怎么修改

      不同的人其使用软件的视觉习惯是不一样的,直接给大家介绍过如何设置CODESOFT的界面语言,这是一个大范围的界面显示设置.本文,将介绍如何修改CODESOFT对话框显示的字体,以满足自己的视觉习惯 ...

  10. 慕课网-安卓工程师初养成-3-8 Java中的条件运算符

    来源:http://www.imooc.com/code/1306 条件运算符( ? : )也称为 “三元运算符”. 语法形式:布尔表达式 ? 表达式1 :表达式2 运算过程:如果布尔表达式的值为 t ...