//Card类
public class Card {public String rank; //牌面值public String suit; //花色public Card(String rank, String suit) {this.rank = rank;this.suit = suit;}@Overridepublic String toString(){return String.format("[%s %s]",suit,rank);}
}//Demo类
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Random;public class Demo {public static final String[] SUITS = {"♥","♠","♣","♦"};//购买 扑克牌private static List<Card> buyCard(){List<Card> cards = new ArrayList<>(52);for (int i = 0; i < 4; i++) {Card aCard = new Card("A",SUITS[i]);cards.add(aCard);for (int j = 2; j < 11; j++) {Card card = new Card(j + "",SUITS[i]);cards.add(card);}Card jCard = new Card("J",SUITS[i]);Card qCard = new Card("Q",SUITS[i]);Card kCard = new Card("K",SUITS[i]);cards.add(jCard);cards.add(qCard);cards.add(kCard);}return cards;}private static void swap(List<Card> deck,int i , int j) {Card tem = deck.get(i);deck.set(i,deck.get(j));deck.set(j,tem);}private static void myShuffle(List<Card> deck) {Random random = new Random();for (int i = deck.size() - 1; i > 0; i--) {swap(deck,i,random.nextInt(i));}}public static void main(String[] args) {List<Card> deck = buyCard();System.out.println("刚买到的扑克牌");System.out.println(deck);//洗牌//Collections.shuffle(deck);myShuffle(deck);System.out.println("洗过的牌");System.out.println(deck);//三个人,每个人抓取 5张牌List<List<Card>> hands = new ArrayList<>();hands.add(new ArrayList<>());hands.add(new ArrayList<>());hands.add(new ArrayList<>());for(int i = 0; i < 5; ++i){for(int j = 0; j < 3; ++j){hands.get(j).add(deck.remove(0));}}System.out.println("A手中的牌:");System.out.println(hands.get(0));System.out.println("B手中的牌:");System.out.println(hands.get(1));System.out.println("C手中的牌:");System.out.println(hands.get(2));System.out.println("剩余的牌:");System.out.println(deck);}
}

Java问题---扑克牌相关推荐

  1. 用java制作扑克牌_Java实现扑克牌洗牌和发牌

    本文实例为大家分享了Java实现扑克牌洗牌发牌的具体代码,供大家参考,具体内容如下 实现原理:使用4种花色和13个数字组合成52张牌,放进一个集合中:通过把集合数据排序打乱实现洗牌操作,然后在通过循环 ...

  2. 用java制作扑克牌_Java模拟扑克牌洗牌实现生成52张扑克的方法示例

    本文实例讲述了Java模拟扑克牌洗牌实现生成52张扑克的方法.分享给大家供大家参考,具体如下: 要求: 生成52张扑克,模拟扑克牌洗牌,并输出. 实现代码: package com.NCU.ZHANG ...

  3. java生成扑克牌----java基础学习总结

    前言都懒的写了,都凌晨1点半了,直接把代码放上去 代码: 1 package com.day16.list; 2 3 import java.util.LinkedList; 4 import jav ...

  4. 用java制作扑克牌_阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer(java研发)...

    每一个互联网人心中都有一个大厂梦,百度.阿里巴巴.腾讯是很多互联网人梦寐以求的地方,小编也不例外.但是,BAT等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学 ...

  5. 【Java】扑克牌の顺子Judge

    题目要求 (这题自己编着玩的) 现有一副扑克牌,不分花色,分别是 A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, King . 要求编写一个判断抽到的n张牌是不是顺子的 ...

  6. java简易扑克牌_简易扑克牌游戏(java)

    //创建扑克牌类 public class PokerCard { public String shapeColor; public String number; } //创建玩家类 import j ...

  7. java洗扑克牌算法分析_IT兄弟连 Java语法教程 综合案例

    大家好!下面为您带来精彩资讯! 1.案例需求 编写程序,模拟斗地主游戏洗牌和发牌的流程. 2.应用知识 ● 数组的声明 ● 数组的遍历 ● for循环 ● if-else分支结构 3.需求解析 模拟斗 ...

  8. JAVA控制台扑克牌游戏,洗牌,发牌,比较大小

    此游戏是一个简单的并且很基础的java控制台程序.这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家.有洗好的牌,也有玩家了,那么就开始 ...

  9. Java实现扑克牌游戏(简易炸金花)

    本篇将实现Java版的扑克牌游戏 目录 一.创建扑克牌Poker 二.游戏玩法创建 2.1买牌 2.2洗牌 2.3揭牌 三.测试游戏代码 一.创建扑克牌Poker 在游戏开始之前要创建扑克牌,其中扑克 ...

  10. java设计扑克牌比大小_2019-08-09Day10 单例设计模式,扑克牌比大小游戏(Java)

    目的 学习了解单例设计模式的相关知识,并在前几天Java学习的基础上,完善所学的知识,完成扑克牌比大小的游戏,能实现的功能有,游戏显示页面,玩家信息页面(包括玩家姓名 编号 所持有的资金),生成一副扑 ...

最新文章

  1. python值nonzero函数的解析
  2. 汇编 过程 创建并测试 proc endp call ret uses
  3. 【数理知识】《随机过程》方兆本老师-第6章-鞅过程及其性质
  4. SQL重置数据表id
  5. Codeforces Round #364 (Div. 1) (差一个后缀自动机)
  6. 信息学奥赛一本通(1071:菲波那契数)
  7. 史蒂夫 乔布斯(Steve Jobs)在斯坦福大学2005年毕业典礼上的演讲
  8. 反射和多态的实现原理详解以及区别
  9. ES6系列:什么是ES6? 新手应该怎么理解
  10. 手把手教你学习网络编程(1)
  11. bzoj 1013: [JSOI2008]球形空间产生器sphere(高斯消元)
  12. 用.htaccess 禁止IP访问
  13. 一个很简单的例子,从汇编层次理解函数调用
  14. 信号与系统——有关卷积的意义
  15. python对象转为字符串
  16. 笔记本外接2-3个屏幕
  17. python 柱状图 内部颜色_matplotlib画柱状图,设置同一幅图上的柱子呈现不同颜色...
  18. crypto661-rabin(网鼎杯2022-未完成)
  19. 数据挖掘 顶级期刊_数据挖掘领域顶级会议期刊及其分析
  20. Laravel 中使用 Laravel-Excel 美化

热门文章

  1. 用60行代码实现一个高性能的圣诞抽抽乐H5小游戏(含源码)
  2. 设备管理之I/O系统
  3. Excel 宏快捷键删除单元格所在的行
  4. 8421BCD码与十进制的转换
  5. Makefile eval函数
  6. 微信小程序如何做触底加载分页功能
  7. 带你玩转以太坊智能合约的”Hello World“
  8. matlab景深合成算法,关于景深合成,你想知道的都在这儿!
  9. MATLAB Appdesigner开发独立桌面App全流程(一):以打开串口功能为例介绍Appdesigner的基本使用
  10. 提出“和而不同”的思想——与管仲并称的晏婴