Java 用LinkdeList实现52张扑克牌

时间:2022-08-27 15:02:38

用LinkdeList实现52张扑克牌(不含大小王)的洗牌功能。提示:花色 ,和数字分别用数组存储。

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;
} @Override
public String toString() {
// TODO Auto-generated method stub
return "{"+color+num+"}";
}
} public class HomeWork3 { /**
* @param args
* 用LinkdeList实现52张扑克牌(不含大小王)的洗牌功能。
* 提示:花色 ,和数字分别用数组存储。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 1.创建扑克牌
LinkedList list = creatPoker();
//2.洗牌
shufflePoker(list);
//3.显示
showPoker(list); //4.发牌的功能。 } //洗牌的功能
public static void shufflePoker(LinkedList poker){ //1.产生一个随机数
Random rangdom = new Random(); for(int i = 0 ;i<100;i++){ //随机获取两个索引值:
int index1 = rangdom.nextInt(poker.size());
int index2 = rangdom.nextInt(poker.size());
Poker p1 = (Poker) poker.get(index1);
Poker p2 = (Poker) poker.get(index2);
//交换用set方法
poker.set(index1, p2);
poker.set(index2, p1); } } public static void showPoker(LinkedList list){ for(int i = 0;i<list.size();i++){ System.out.print(list.get(i));
if( i % 13 == 12){ System.out.println();
} } } public static LinkedList creatPoker(){
//创建集合对象用来存放扑克牌
LinkedList list = new LinkedList();
//定义花色和数字
String[] colors = {"黑桃","红桃","方块","梅花"};
String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; for(int i = 0 ;i<nums.length ;i++){ for(int j = 0;j<colors.length;j++){ list.add(new Poker(colors[j], nums[i]));
}
} return list;
} }

Java 用LinkdeList实现52张扑克牌的更多相关文章

  1. 理解面向对象编程---C&num;控制台实现52张扑克牌的分法

    52张牌随机分给4个玩家,要求每个玩家的牌用一个一维数组表示. 我们采用模拟大法.初始化一副扑克牌,洗牌,发牌. using System; using System.Collections.Gene ...

  2. SwiftUI:看我展示52张扑克牌,&OpenCurlyDoubleQuote;很快啊&excl;”

    目录 思路 效果图 相关代码解析 枚举创建扑克牌号码 枚举创建扑克牌类型 viewModel逻辑 UI实现 源码 感受 思路 使用 SwiftUI 创建 UI 结构: 使用 swift 的枚举和结构体 ...

  3. 52张扑克牌快速生成js

    function* generatePoker() { const points = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']; yield* ...

  4. Java基础练习——读心术(扑克牌魔术——21张扑克牌)

    Java基础练习--读心术(扑克牌魔术--21张扑克牌) 用到了Scanner,for循环,if-else语句,集合,线程的Thread.sleep()方法 话不多说,直接上代码!

  5. 贝叶斯公式52张牌猜黑桃A策略

    贝叶斯公式52张牌猜黑桃A策略 考虑有208平行世界,其中有4个世界(1/52)的黑桃A方在第一张牌的位置,余下204个世界中,有4个世界的黑桃A在第2张牌的位置,4个世界在第3张牌的位置..... ...

  6. 【Java】 剑指offer&lpar;61&rpar; 扑克牌的顺子

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连 ...

  7. Effective Java 第三版——52&period; 明智而审慎地使用重载

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  8. 【Oracle&sol;Java】批量删除16张十万数据的表 单线程耗时45秒 多线程耗时38秒

    昨天做了插入的单线程多线程比较,今天做个删除的. 单线程批量删除类代码: package com.hy.delete.singlethread; import java.sql.Connection; ...

  9. 【Oracle&sol;Java】给十六张表各插入十万条数据 单线程耗时半小时 多线程耗时一刻钟

    测试机Oracle版本: SQL> select * from v$version; BANNER ----------------------------------------------- ...

随机推荐

  1. Could not evaluate expression

    VS15 调试变量不能显示值,提示:Could not evaluate expression 解决办法: 选择"在调试时显示运行以单击编辑器中的按钮"重启VS即可. 可参考:Vi ...

  2. 【JavaScript】 knockout&period;js 日期格式化借助【momentjs】

    源:Knockout.js 日期格式化 源:momentjs

  3. 帝国备份王&lpar;Empirebak&rpar; &bsol;class&bsol;functions&period;php、&bsol;class&bsol;combakfun&period;php GETSHELL vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 EmpireBak是一款完全免费.专门为Mysql大数据的备份与导入而设 ...

  4. iOS开发--CornerStone上传静态库(&period;a文件)

    首先打开软件左上角 CornerStone-Preferences-SubVersion 第一个地方把对号去掉,第二个地方把.a那个删除,然后save. 然后把你的.a文件放到本地的相应文件夹下, 但 ...

  5. 记录:Ubuntu下配置Eclipse

    >>下载Eclipse. 下载链接:http://www.eclipse.org/downloads/ 我选择了64bit的版本 >>安装Eclipse. 解压文件: tar ...

  6. 2&period;5&period;2 使用alertdialog 创建列表对话框

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...

  7. python 常见算法

    python虽然具备很多高级模块,也是自带电池的编程语言,但是要想做一个合格的程序员,基本的算法还是需要掌握,本文主要介绍列表的一些排序算法 递归是算法中一个比较核心的概念,有三个特点,1 调用自身 ...

  8. springboot 默认异常处理

    SpringBoot默认有自定义异常处理的体系,在做SpringBoot项目的时候,如果是抛出了运行时异常,springBoot并会对异常进行处理,返回如下异常信息: { "timestam ...

  9. 【POI每日题解 &num;7】TES-Intelligence Test

    题目链接 这道题第一眼看去类比BANK-Cash Dispenser 不过1e6 * 1e6 = 1e12   分分钟MLE啊 想到优化 就yy到一种近似主席树的做法 来维护类似BANK的一堆序列 开 ...

  10. RNN&lpar;Recurrent Neural Networks&rpar;公式推导和实现

    RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...