最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)簡單的抽牌游戲

 更新時間:2020年04月22日 16:38:28   作者:Testarossa118  
這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的抽牌游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現(xiàn)簡單抽牌游戲的具體代碼,供大家參考,具體內(nèi)容如下

Main類

package com.company;
 
import java.util.*;
 
public class Main
{
 
  public static void main(String[] args)
  {
    Poke p = new Poke();
    p.shuffle();
    System.out.println("您想抽幾張牌?");
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
 
 
    System.out.println("抽取了"+n+"張牌,分別為:");
    Card[] c = p.draw(n);
    for (Card g :c ) System.out.print(g);
    System.out.println();
    p.sortOut(c);
    System.out.println("理牌完成!");
    for (Card g :c ) System.out.print(g);
  }
}

Poke類

package com.company;
 
import java.util.Arrays;
 
/**
 * Created by ttc on 16-11-2.
 */
public class Poke
{
  Card[] m_card = null;
  int[] values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
  String[] colors = {"♡", "♠", "♢", "♧"};
 
  public Poke()
  {
    m_card = new Card[52];
    for (int i = 0; i < colors.length; i++)
    {
      for (int j = 0; j < values.length; j++)
      {
        m_card[i * values.length + j] = new Card(values[j], colors[i]);
      }
    }
  }
 
  public void outPut()
  {
    //展示當(dāng)前牌序
    for (int i = 0; i < m_card.length; i++)
    {
      if (i % 13 == 0) System.out.println();
      System.out.print(m_card[i]);
    }
  }
 
  public void shuffle()
  {
    //洗牌
    Card tempC = null;
    for (int i = 0; i < 52; i++)
    {
      tempC = m_card[i];
      int j = (int) (Math.random() * 51);
      m_card[i] = m_card[j];
      m_card[j] = tempC;
    }
    System.out.print("洗牌完成!");
  }
 
  public Card[] draw(int n)
  {
    //抽N張牌
    Card[] c = new Card[n];
    for (int i = 0; i < n ; i++) c[i] = m_card[i];
    return c;
  }
 
  public void sortOut(Card[] c)
  {
    //理牌
    Arrays.sort(c);
  }
}

Card類

package com.company;
 
/**
 * Created by ttc on 16-11-2.
 */
public class Card implements Comparable
{
  private int m_values;
  private String m_colors;
 
  public Card(int m_values, String m_colors)
  {
    this.m_values = m_values;
    this.m_colors = m_colors;
  }
 
  @Override
  public int compareTo(Object o)
  {
    if (this.m_values > ((Card)o).m_values) return 1;
    else if(this.m_values == ((Card)o).m_values) return 0;
    else return -1;
  }
 
  @Override
  public String toString()
  {
    String strtmp;
    switch (m_values)
    {
      case 1:
        strtmp = "A";
        break;
      case 11:
        strtmp = "J";
        break;
      case 12:
        strtmp = "Q";
        break;
      case 13:
        strtmp = "K";
        break;
      default:
        strtmp = String.valueOf(m_values);
    }
    return m_colors + strtmp + "\t";
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例

    Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例

    本篇文章主要介紹了Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • hadoop分布式環(huán)境搭建過程

    hadoop分布式環(huán)境搭建過程

    這篇文章主要介紹了hadoop分布式環(huán)境搭建過程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Java獲取Class對象的幾種方式小結(jié)

    Java獲取Class對象的幾種方式小結(jié)

    本文給大家分享了Java獲取Class對象的幾種方式,使用類名.class 語法,使用對象的 getClass()方法,使用 Class.forName()方法等多種方法,不同的方式適用于不同的場景,需要的朋友可以參考下
    2023-10-10
  • springboot 在idea中實現(xiàn)熱部署的方法

    springboot 在idea中實現(xiàn)熱部署的方法

    這篇文章主要介紹了springboot 在idea中實現(xiàn)熱部署的方法,實現(xiàn)了熱部署,在每一次作了修改之后,都會自動的重啟,非常節(jié)約時間,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 淺談Java中幾個常用集合添加元素的效率

    淺談Java中幾個常用集合添加元素的效率

    下面小編就為大家?guī)硪黄獪\談Java中幾個常用集合添加元素的效率。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java通過wait()和notifyAll()方法實現(xiàn)線程間通信

    Java通過wait()和notifyAll()方法實現(xiàn)線程間通信

    這篇文章主要為大家詳細介紹了Java通過wait()和notifyAll()方法實現(xiàn)線程間通信的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • SpringBoot整合RabbitMQ實現(xiàn)RPC遠程調(diào)用功能

    SpringBoot整合RabbitMQ實現(xiàn)RPC遠程調(diào)用功能

    在分布式系統(tǒng)中,RPC(Remote?Procedure?Call)是一種常用的通信機制,它可以讓不同的節(jié)點之間像調(diào)用本地函數(shù)一樣進行函數(shù)調(diào)用,隱藏了底層的網(wǎng)絡(luò)通信細節(jié),通過本教程,你可以了解RPC的基本原理以及如何使用Java實現(xiàn)一個簡單的RPC客戶端和服務(wù)端
    2023-06-06
  • Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法

    Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法

    Java中的String類是一種特殊的字符串,它可以被用于處理字符串,Java中的String類也可以將字符串轉(zhuǎn)換為數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法,需要的朋友可以參考下
    2023-05-05
  • 解讀CompletableFuture的底層原理

    解讀CompletableFuture的底層原理

    本文探討了Java8中CompletableFuture的原理和應(yīng)用,詳解其異步編程能力、工作機制及實際使用方法,CompletableFuture通過鏈式調(diào)用和狀態(tài)管理優(yōu)化異步任務(wù),提高Java應(yīng)用的效率和性能
    2024-09-09
  • Java Stream中自定義Collector實現(xiàn)復(fù)雜數(shù)據(jù)收集的方法

    Java Stream中自定義Collector實現(xiàn)復(fù)雜數(shù)據(jù)收集的方法

    Java Stream API中的Collector接口是一個強大的工具,它允許我們自定義數(shù)據(jù)收集、轉(zhuǎn)換和聚合的過程,,本文介紹了Java Stream中自定義Collector實現(xiàn)復(fù)雜數(shù)據(jù)收集方法,需要的朋友可以參考下
    2024-08-08

最新評論

怀安县| 保山市| 金华市| 临清市| 曲阳县| 合水县| 凤山县| 马公市| 芦山县| 汝阳县| 屏山县| 巍山| 清流县| 建水县| 临沭县| 绵竹市| 石楼县| 墨竹工卡县| 伊川县| 吉安县| 吉安市| 鞍山市| 丰县| 阳泉市| 唐山市| 同江市| 麻栗坡县| 平遥县| 楚雄市| 锦屏县| 台北市| 商城县| 华阴市| 舒兰市| 依兰县| 乌鲁木齐县| 江山市| 武鸣县| 伊宁市| 古丈县| 红河县|