发牌程序 java

2023-11-19

题目要求

在这里插入图片描述

代码

package PokerGame;
import java.util.*;
public class PokerGame {

    //黑桃、红心、草花、方块
    int m;   //牌数
    int n;  //人数
    int warning =0; //有余数
    int poker[][];  //牌
    int people[][]; //人获得的牌
    int poker_number;
    String[] poker_name = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};   //牌
    public  PokerGame(){
        Scanner reading =new Scanner(System.in);
        System.out.print("输入扑克牌幅数:");
        m=reading.nextInt();
        System.out.print("输入人数:");
        n=reading.nextInt();//人数
        poker_number=(m*52)/n;
        if((m*52)%n!=0){
            warning =1;
        }
        poker=new int[m][52];//原来的牌
        people=new int[n][((m*52)/n)+2];
        for (int i = 0; i < n; i++) {
            Arrays.fill(people[i],-1);
        }
        reading.close();
        
    }
    void xipai(){
        for (int i = 0; i <m ; i++) {
            for (int j = 0; j <52 ; j++) {
                this.poker[i][j]=j;
            }
        }   //初始化

        //洗牌
        for(int k=0;k<m;k++) {
            for(int i=0;i<52;i++) {
                int index = (int)(Math.random()*52);
                int temp = poker[k][i];
                poker[k][i] = poker[k][index];
                poker[k][index] = temp;
            }
        }
//        System.out.println("洗牌后:");
//        for (int i = 0; i < m; i++) {
//            for (int j = 0; j < 52; j++) {
//                System.out.print(poker[i][j]+" ");
//            }
//            System.out.println("");
//        }
    }
    void fapai(){
        //发牌,一人一张,直到发完
        int a=0,b=0;
        for (int i = 0; i <m; i++) {
            for (int j = 0; j <52; j++) {
                people[a][b]=poker[i][j];
                a++;
                if(a==n){
                    b++;
                    a=0;
                }
            }
        }
    }
    void print()
    {
        int i=0;
        while (i!=this.n) {
            ArrayList<Integer> black = new ArrayList<Integer>();
            ArrayList<Integer> red = new ArrayList<Integer>();
            ArrayList<Integer> flower = new ArrayList<Integer>();
            ArrayList<Integer> block = new ArrayList<Integer>();
            //黑桃、红心、草花、方块
            int j = 0;
            while (people[i][j] != -1) {
                if (people[i][j] < 13) {
                    black.add(people[i][j]);
                } else if (people[i][j] < 26) {
                    red.add(people[i][j]);
                } else if (people[i][j] < 39) {
                    flower.add(people[i][j]);
                } else if (people[i][j] < 52) {
                    block.add(people[i][j]);
                }
                j++;
            }
            black.sort(Comparator.reverseOrder());
            red.sort(Comparator.reverseOrder());
            flower.sort(Comparator.reverseOrder());
            block.sort(Comparator.reverseOrder());
            System.out.println("第"+(i+1)+"个人:");
            System.out.print("黑桃:");
            for (int k : black) {
                System.out.print(poker_name[k%13]+' ');
            }
            System.out.println();
            System.out.print("红心:");
            for (int k : red) {
                System.out.print(poker_name[k%13]+' ');
            }
            System.out.println();
            System.out.print("草花:");
            for (int k : flower) {
                System.out.print(poker_name[k%13]+' ');
            }
            System.out.println();
            System.out.print("方块:");
            for (int k : block) {
                System.out.print(poker_name[k%13]+' ');
            }
            System.out.println();
            i++;
        }

    }
    public static void main(String[] args) {
        PokerGame mygame= new PokerGame();
        mygame.xipai();
        mygame.fapai();
        mygame.print();
    }
}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发牌程序 java 的相关文章

  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • idea连接mysql注册登录_idea配置连接数据库的超详细步骤

    学习时 使用IDEA的时候 需要连接Database 连接时遇到了一些小问题 下面记录一下操作流程以及遇到的问题的解决方法 一 连接操作 简介 介绍如何创建连接 具体连接某个数据库的操作流程 1 1 创建连接 打开idea 点击右侧的 Da
  • 并行程序设计作业7/7

    目录 两个线程 一个生产者一个消费者 2k个线程 奇数消费者偶数生产者 2k个线程 每个既可以是生产者又可以是消费者 两个线程 一个生产者一个消费者 include
  • cmake policy

    1 cmake policy是什么 cmake policy可以理解为cmake的语法标准 也就是说 它规定了cmake在解析CMakeLists txt文件时的行为 2 cmake policy的用途是什么 cmake在进化的过程中 需要
  • CAN分析仪 USBCAN USB转CAN CAN转换调试器接口卡使用指导

    USBCAN系列便携式CAN分析仪 通过USB接口快速扩展一路CAN通道 使接入CAN网络非常容易 它具有一体式和小巧紧凑的外形 特别适合于随身携带 第一步 将usbcan卡连接电脑如图 usb灯亮红灯 打开 USBCAN系列便携式CAN总
  • 编程之美2015初赛第二场AB

    题目1 扑克牌 时间限制 2000ms 单点时限 1000ms 内存限制 256MB 描述 一副不含王的扑克牌由52张牌组成 由红桃 黑桃 梅花 方块4组牌组成 每组13张不同的面值 现在给定52张牌中的若干张 请计算将它们排成一列 相邻的
  • 2023.02

    2023 02 01 将mpu写到dxReagion中的数据打印到文件中 调试解决mpu2ipu和ipu2mpu同时跑线程未关掉导致的异常 2023 02 02 学习2102 spec文档和mpu设计文档 将mpuipu测试用例加到回归测试
  • SpringMVC访问静态资源问题

    搭建Spring MVC环境时 如果在Spring MVC的配置文件中DispatcherServlet拦截 则会对 html js jpg等静态文件的访问也会被拦截 想要访问这些静态资源必须要进行相应的配置这里推荐两中比较简单的方法 1
  • 【无监督学习】1、MOCOv1

    文章目录 一 背景 二 方法 2 1 对比学习 字典查表 2 2 动量对比函数 2 3 Pretext Task 三 效果 3 1 数据集 3 2 训练细节 3 3 实验 四 代码 论文 Momentum Contrast for Unsu
  • python中int什么意思_python 的 int() 函数是什么,怎么用

    int 函数是python的一个内置函数 用于把一个字符串或者数字转换为 整型 下面来具体看一下 工具 原料 IDLE 电脑 方法 步骤 1 int 的常用语法 int 字符串或者数字 进制数 进制数默认为十进制 如果int 中没有参数 返
  • PDF学习十:图形状态

    说明 一个PDF应用程序 Foxit Reader或Adobe Reader 维护内部数据结构称为图形状态 它保存了当前图形控制参数 这些参数定义在全局框架 在全局框架内可执行图形操作符 例如 f 填充 操作符隐式调用当前颜色这个参数 S
  • Python爬虫学习汇总(持续更新)

    最近在研究爬虫 我把和爬虫相关的内容都总结到这了 这持续更新 1 使用Python爬取妹子网的图片 批量下载 附带源码 超详细 2 爬虫实例源码下载 修改目录直接能运行 3 Python爬虫之xpath的基本使用 解析HTML详细介绍 4
  • CentOS7 最小化安装后的必备操作

    来源于 https blog csdn net f srion article details 54910943 在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能 我们需要最小化安装 而最小化安装后与centos6的版本是有
  • 魔百盒 修改时间服务器,魔百盒网关服务器下发超时

    魔百盒网关服务器下发超时 内容精选 换一换 第三方应用在物联网平台订阅了设备服务信息变化通知后 订阅的通知类型为serviceInfoChanged 当平台向设备下发命令修改设备服务信息时 平台会向第三方应用推送通知消息 支持物联网平台向订
  • python的内置容器(list、set、tuple、dict)概念、使用及遍历方法

    容器概念 线性表 有序的容器结构 数组 array 是由连续的内存空间组成 栈 stack 先进后出 后进先出 队列 queue 先进先出 后进后出 链表 list 是由不连续的内存空间组了逻辑结构 单向链表 内存小 效率低 双向列表 内存
  • kubeadm 安装k8s

    关于k8s集群化部署 以下均是个人一步一步的完成部署 并且会罗列出在部署过程中遇到的各种问题及其解决方式 一 环境准备 环境准备阶段试用与master节点部署与work节点部署 即master和work节点全部都需要执行这些步骤 1 关闭防
  • LCR 005. 最大单词长度乘积----位掩码的使用

    题目描述 给定一个字符串数组 words 请计算当两个字符串 words i 和 words j 不包含相同字符时 它们长度的乘积的最大值 假设字符串中只包含英语的小写字母 如果没有不包含相同字符的一对字符串 返回 0 示例 1 输入 wo
  • javascript——js string 转 int 注意的问题——parseInt

  • Linux搭建C++开发调试环境的方法步骤

    安装g Linux编译C 程序必须安装g 编译器 这里使用yum方式安装 首先切换到root账号 su root 然后输入密码 执行yum install gcc c 注意不是yum install g 报错 报错是因为yum需要配置正确的
  • 安装启动配置mysql5.7_MySQL5.7多实例安装及开机启动配置(亲测)

    安装环境 CentOS版本 CentOS7 6 1810 MySQL版本 5 7 9 以前一些很low的方法是 解压两个mysql 分别放到不同文件夹 其实在mysql中已经考虑到了多实例安装的情况 也有相应的脚本命令的支持 现在安装两个m
  • 发牌程序 java

    题目要求 代码 package PokerGame import java util public class PokerGame 黑桃 红心 草花 方块 int m 牌数 int n 人数 int warning 0 有余数 int po