一副牌,用java实现

一.介绍

从一副52张的牌中随机挑出4张牌。所有的牌可以用一个名为deck的数组表示,这个数组用从0到S1的初始值来填充。
牌号从0到12、13到25、26到38以及39到51分别表示13张黑桃、13张红桃、13张方块、13张梅花。cardNumber/13决定牌的花色,而cardNumber%13决定是具体花色中的哪张牌.在打乱数组deck之后,从deck中选出前四张牌。程序显示这四张牌号所对应的牌。

二.代码

package com.zhuo.base.com.zhuo.base;

public class DeckOfcard {
    
    
    public static void main(String[] args) {
    
    
        int [] deck = new int[52];
        String[] suits = {
    
    "Spades", "Hearts", "Diamonds", "Clubs"};
        String[] ranks = {
    
    "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Gueen", "king"};
        /*初始化*/
        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("Cart number" + deck[i] + ": " + rank + " of " + suit);
        }
    }
}

三.结果显示

Cart number35: 10 of Diamonds
Cart number5: 6 of Spades
Cart number38: king of Diamonds
Cart number20: 8 of Hearts

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/weixin_42768634/article/details/113666391