用Java生成一个简单的扑克牌局

目录

1.表示一张牌

2.生成一副牌

3.洗牌

4.整体代码展现


1.表示一张牌


//通过一个类,表示一张牌
class Card {
        public String suit;//花色
        public String value;//牌值

        public Card(String suit, String value) {
            this.suit = suit;
            this.value = value;
        }

        //弄一个toString方法,方便打印
        @Override
        public String toString() {
            return "("+suit+value+")";
        }
    }

2.生成一副牌

//通过createDeck方法,创建一副牌(不含大小王),用ArrayList存储
    public ArrayList<Card> createDeck() {
        ArrayList<Card> deck = new ArrayList<Card>();
        //创建花色
        String[] suits = {"♠", "♥", "♦", "♣"};
        //创建牌值
        String[] values = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        //创建牌
        for (String suit : suits) {
            for (String value : values) {
                deck.add(new Card(suit, value));
            }
        }
        return deck;
    }

3.洗牌

 //洗牌
 //标准库有一个现成的方法,shuffle,可以直接用,打乱ArrayList中的顺序
 Collections.shuffle(deck);

4.整体代码展现

import java.util.ArrayList;
import java.util.Collections;

public class Poker {
    //通过一个类,表示一张牌
    class Card {
        public String suit;//花色
        public String value;//牌值

        public Card(String suit, String value) {
            this.suit = suit;
            this.value = value;
        }

        //弄一个toString方法,方便打印
        @Override
        public String toString() {
            return "("+suit+value+")";
        }
    }

    //通过createDeck方法,创建一副牌(不含大小王),用ArrayList存储
    public ArrayList<Card> createDeck() {
        ArrayList<Card> deck = new ArrayList<Card>();
        //创建花色
        String[] suits = {"♠", "♥", "♦", "♣"};
        //创建牌值
        String[] values = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        //创建牌
        for (String suit : suits) {
            for (String value : values) {
                deck.add(new Card(suit, value));
            }
        }
        return deck;
    }

    public static void main(String[] args) {
        //通过createDeck方法,创建一副牌
        ArrayList<Card> deck = new Poker().createDeck();
        //打印这副牌
        System.out.println(deck);
        //洗牌
        //标准库有一个现成的方法,shuffle,可以直接用,打乱ArrayList中的顺序
        Collections.shuffle(deck);
        //打印洗牌后的牌
        System.out.println(deck);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值