黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

java中關于亂序取撲克牌算法延伸

系統 2578 0

最近看到javaEye 上有一位仁兄帖出來取撲克牌亂序算法。看過還是有問題,都沒有人想到而糾正過來,本想直接回復的,可以已經結帖了。
我又最近比較空,所以自己博客里也寫寫,算是給一些新手和老手一點新的算法思路。

    package com.swing;

import java.util.Enumeration;
import java.util.Hashtable;

/**
 * 亂序撲克牌 洗牌方法
 * 
 * @author virture
 * 
 */
public class Cards {

	Hashtable htMember = new Hashtable();// 放置撲克牌的Hash表

	public Cards() {

	}

	public void put(String card) {
		htMember.put(card, card);
	}

	public void get() {
		System.out.println("你拿到的牌是:");
		Enumeration RLKey = htMember.keys();
		while (RLKey.hasMoreElements()) {
			String accKey = RLKey.nextElement().toString();// 取HashTable中的關鍵字詞
			System.out.print((String) htMember.get(accKey) + ",");
		}
	}

	public static void main(String[] args) {
		String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
				"J", "Q", "K" };
		String[] kinds = { "黑桃", "紅桃", "梅花", "方塊" };

		Cards cardList = new Cards();

		String suit;// 當前選中牌的類型
		String face;// 當前選中牌
		int randomCardNum = 52;// 當前隨機取牌的個數,記住不能大于全部牌52張

		while (true) {
			suit = kinds[Math.round((float) Math.random() * (kinds.length - 1))];
			face = cards[Math.round((float) Math.random() * (cards.length - 1))];

			cardList.put(suit + face);
			if (cardList.htMember.size() >= randomCardNum
					&& cardList.htMember.size() <= 52) {
				break;
			}
		}
		cardList.get();
	}
}

  

?



這里也同樣適用于其它過濾重復字段的方法。直接用HashTable來存儲重復字段。重復的最多再覆蓋一下,而不必用 for 循環判斷 n*n次。對于大量的數據的排重是有顯著的提升的。

其它的亂序取撲克牌有一個通病,可能會取重復的現象。大家要注意啊。

?

java中關于亂序取撲克牌算法延伸


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論