欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)撲克牌洗牌和發(fā)牌

 更新時間:2020年04月05日 10:01:36   作者:feng海濤  
這篇文章主要為大家詳細介紹了Java實現(xiàn)撲克牌洗牌和發(fā)牌,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)撲克牌洗牌發(fā)牌的具體代碼,供大家參考,具體內容如下

實現(xiàn)原理:使用4種花色和13個數(shù)字組合成52張牌,放進一個集合中;通過把集合數(shù)據(jù)排序打亂實現(xiàn)洗牌操作,然后在通過循環(huán)把牌抽出來實現(xiàn)發(fā)牌操作。

下面是實現(xiàn)代碼:

import java.util.ArrayList;
import java.util.Collections;

public class Card {
  private static ArrayList<String> list = new ArrayList<>();
  private static String[] colors = {"黑桃","紅桃","梅花","方塊"};
  private static String[] nums = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
  private static String[] jokers = {"Joker","joker"}; //大小王
  private static ArrayList<String> A = new ArrayList<>(); //小人A
  private static ArrayList<String> B = new ArrayList<>(); //小人B
  private static ArrayList<String> C = new ArrayList<>(); //小人C
  private static ArrayList<String> D = new ArrayList<>(); //小人D

  //初始化撲克牌
  public static void initCards(boolean need){
    for(String color:colors){
      for (String num:nums) {
        list.add(color + num);
      }
    }
    //是否添加大小王
    if (need) {
      list.add(jokers[0]);
      list.add(jokers[1]);
    }
  }

  //洗牌
  public static void xiPai(){
    Collections.shuffle(list);
  }

  //性感荷官,在線發(fā)牌
  public static void faPai(){
    A.clear();
    B.clear();
    C.clear();
    D.clear();
    for (int i = 0; i < list.size();i++) {
      if (i%4 == 0) {
        A.add(list.get(i));
      }
      if (i%4 == 1) {
        B.add(list.get(i));
      }
      if (i%4 == 2) {
        C.add(list.get(i));
      }
      if (i%4 == 3) {
        D.add(list.get(i));
      }
    }
  }

  //主方法
  public static void main(String args[]){
    initCards(true);
    xiPai();
    faPai();
    System.out.print("小人A" + A + "\n");
    System.out.print("小人B" + B + "\n");
    System.out.print("小人C" + C + "\n");
    System.out.print("小人D" + D + "\n");
  }
}

下面是運行結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java正則表達式應用的實例代碼

    java正則表達式應用的實例代碼

    java正則的實例應用分析,大家從下面的代碼中,就能知道java正則的應用與寫法
    2008-10-10
  • FastDFS分布式文件系統(tǒng)環(huán)境搭建及安裝過程解析

    FastDFS分布式文件系統(tǒng)環(huán)境搭建及安裝過程解析

    這篇文章主要介紹了FastDFS分布式文件系統(tǒng)環(huán)境搭建及安裝過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • RateLimiter 源碼分析

    RateLimiter 源碼分析

    本文主要對ratelimiter的常用方法以及源碼進行了分析解讀,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • Java異步非阻塞編程的幾種方式總結

    Java異步非阻塞編程的幾種方式總結

    這篇文章主要介紹了Java異步非阻塞編程的幾種方式總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 使用Java將一個List運用遞歸轉成樹形結構案例

    使用Java將一個List運用遞歸轉成樹形結構案例

    這篇文章主要介紹了使用Java將一個List運用遞歸轉成樹形結構案例,本文通過詳細的案例來解釋說明了如何去操作,需要的朋友可以參考下
    2021-06-06
  • Java 如何優(yōu)雅的拷貝對象屬性

    Java 如何優(yōu)雅的拷貝對象屬性

    這篇文章主要介紹了Java 如何優(yōu)雅的拷貝對象屬性,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-11-11
  • SpringBoot?Schedule調度任務的動態(tài)管理

    SpringBoot?Schedule調度任務的動態(tài)管理

    Scheduled定時任務是Spring?boot自身提供的功能,所以不需要引入Maven依賴包,下面這篇文章主要給大家介紹了關于SpringBoot通過@Scheduled實現(xiàn)定時任務以及問題解決的相關資料,需要的朋友可以參考下
    2023-02-02
  • SpringBoot RestTemplate GET POST請求的實例講解

    SpringBoot RestTemplate GET POST請求的實例講解

    這篇文章主要介紹了SpringBoot RestTemplate GET POST請求的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • SpringMvc之HandlerMapping詳解

    SpringMvc之HandlerMapping詳解

    這篇文章主要介紹了SpringMvc之HandlerMapping詳解,Handler可以理解為具體干活的,也就是我們的業(yè)務處理邏輯,Handler最終是要通過url 來訪問到,這樣url 與Handler之間就有一個映射關系了,需要的朋友可以參考下
    2023-08-08
  • springBoot集成redis(jedis)的實現(xiàn)示例

    springBoot集成redis(jedis)的實現(xiàn)示例

    Redis是我們Java開發(fā)中,使用頻次非常高的一個nosql數(shù)據(jù)庫,本文主要介紹了springBoot集成redis(jedis)的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09

最新評論