0-12 :表示13张黑桃
13-25:表示13张红桃
26-38:表示13张方块
39-51:表示13张梅花
代码:
package com.im;
public class Demo74 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] deck = new int[52]; //定义一副牌的数组容量为52
String[] suits = {"黑桃","红桃","方块","红心"}; //定义数组储存花色
//定义数组储存字母
String[] ranks = {"Ace","2","3","4","5","6","7","8","9","Jack","Queen","King"};
//用0到51的数初始化数组
for(int i=0; i<deck.length; i++){
deck[i] = i;
}
//打乱数组
for(int i=0; i<deck.length; i++){
int j = (int) (Math.random()*(deck.length));
int temp = deck[i];
deck[i] = j;
j = temp;
}
//选取前四个数
for(int i=0; i<4; i++){
String suit = suits[deck[i] / 13]; //求个卡牌数的花色
String rank = ranks[deck[i] % 13]; //求得卡牌的字母
System.out.println("Card Number " + deck[i] + ": " + rank + " of " + suit);
// int cardNumber = (int) (Math.random()*deck.length);
// String suit = suits[cardNumber / 13];
// String rank = suits[cardNumber % 13];
// System.out.println(“Card Number ” + cardNumber + “: ” + rank + ” of ” + suit);
}
}
}