`

洗扑克牌(乱数排列)

J# 
阅读更多
package qinglin.learn.arithmetic;

import java.util.Random;

public class PokerRefreash
{
	public static void main(String[] args)
	{
		PokerRefreash refreash = new PokerRefreash();
		Random  random = new Random();
		int poker[]=new int[53];
		for(int i=1;i<poker.length;i++)
			poker[i]=i;
		for(int i=1;i<poker.length;i++)
		{
			refreash.swap(poker, random.nextInt(52), random.nextInt(52));
		}
		for(int i=1;i<poker.length;i++)
		{
			System.out.print(refreash.getColor(poker[i])+" "+refreash.getAppearance(poker[i]));
		}
	}
	public String getAppearance(int pokerNum)
	{
		String appearance = "";
		switch(pokerNum%13)
		{
			case 0:
				appearance="K";
				break;
			case 11:
				appearance="J";
				break;
			case 12:
				appearance="Q";
				break;
			default:
				appearance=pokerNum%13+"";
				break;
		}
		return appearance+" ";
	}
	public void swap(int poker[],int i,int j)
	{
		int temp=poker[i];
		poker[i]=poker[j];
		poker[j]=temp;
	}
	public String getColor(int num)
	{
		String color="";
		switch((num-1)/13)
		{
			case 0:
				color="红桃";
				break;
			case 1:
				color="黑桃";
				break;
			case 2:
				color="梅花";
				break;
			case 3:
				color="方块";
				break;			
		}
		return color;
	}
}
分享到:
评论
1 楼 crazyman1314 2010-04-02  
比较经典,学习...

相关推荐

    C经典算法之洗扑克牌(乱数排列)

    洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1~N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。

    算法设计与分析实验

    Algorithm Gossip: 老鼠走迷官(一) Algorithm Gossip: 洗扑克牌(乱数排列)

    经典算法大全,常用的算法都在这里

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C语言经典算法大全(几十个经典案例,都有详尽代码)

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    蓝桥杯信息学奥赛练习试题

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C-Program-examples.rar_2维码 C语言_c 卡牌游戏_字串核对_背包问题_蒙塔卡罗法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    c语言经典算法包括老掉牙,汉诺塔,三色旗

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    c语言经典算法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    C语言经典算法大全

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem)  集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解  排序 得分排行 选择、插入、气泡...

    经典算法教程 举例详解

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 Shell 排序法 -...

    经典算法全部用C语言实现

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    C 语言 算法 代码 数据结构

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    Java算法大全

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、...

    java各种经典算法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    数据结构与算法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    经典常用算法 河内塔

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    Java和C语言实现各种经典算法(含代码图例)

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C语言 经典算法 算法大全

    24.洗扑克牌(乱数排列) 54 25.Craps赌博游戏 56 26.约瑟夫问题(Josephus Problem) 58 27.排列组合 60 28.格雷码(Gray Code) 61 29.产生可能的集合 63 30.m元素集合的n个元素子集 66 31.数字拆解 68 32.得分...

Global site tag (gtag.js) - Google Analytics