一维数组初探之随机纸牌

    /**
     * @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 );
            
                   
        }
       

 

posted @ 2017-03-24 19:14  阳光很好,我亦很好  阅读(177)  评论(0)    收藏  举报