一维数组初探之随机纸牌
/**
* @param args
* @wnagxianpeng
* 功能: 从一副 52张的扑克牌,牌号从0 - 12 13-25 26 -38 39 -51分别表 13张黑桃,13 张红桃,13张梅花,
* 分析: 1. cardNumber/13 决定牌的花色
* 2. cardNumber % 13 决定具体花色中的那张牌
* 3. 打乱数组 deck之后 从deck中选出前四张牌
*
* 实现步骤:
* 1.建立 deck数组
* 2.建立 四种花色 的数组 suits
* 3.建立 A-shik的数组 ranks
* 4.往deck里插入五十二张牌
* 5.打乱这幅拍牌的顺序
* 6.确定牌的花色
* 7.确定是什么花色的具体牌
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] deck =new int[52];
String [] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
String [] ranks ={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
//插入五十二张牌
for(int i = 0 ; i < deck.length ; i++){
deck[i] = i;
}
// 打乱顺序
for(int i = 0 ; i < deck.length; i++){
int index = (int)(Math.random() * deck.length);
int temp = deck[i];
deck[i] = deck[index];
deck[index] = temp ;
}
// 确定花色 和花色中哪张牌
for(int i = 0 ; i < 4 ; i++){
String suit = suits[ deck[i] / 13];
String rank = ranks[deck[i] % 13 ];
System.out.println("卡片数是"+deck[i]+ ": "+ rank+ " of "+suit );
}


浙公网安备 33010602011771号