Loading...
以下是一个完整的 Java 扑克牌程序,包含了扑克牌的创建、洗牌、发牌等功能:
java
import java.util.*;
// 扑克牌类
class Card {
private String suit; // 花色
private String rank; // 点数
public Card(String suit, String rank) {
this.suit = suit;
this.rank = rank;
@Override
public String toString {
return suit + rank;
// Getters
public String getSuit { return suit; }
public String getRank { return rank; }
// 扑克牌组类
class Deck {
private List cards;
public Deck {
initializeDeck;
// 初始化一副扑克牌
private void initializeDeck {
cards = new ArrayList;
String[] suits = {"♥", "♦", "♣", "♠"};
String[] ranks = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
for (String suit : suits) {
for (String rank : ranks) {
cards.add(new Card(suit, rank));
// 洗牌
public void shuffle {
Collections.shuffle(cards);
// 发一张牌
public Card dealCard {
if (cards.isEmpty) {
return null;
return cards.remove(0);
// 获取剩余牌数
public int remainingCards {
return cards.size;
// 显示整副牌
public void displayDeck {
for (int i = 0; i
System.out.print(cards.get(i) + " ");
if ((i + 1) % 13 == 0) {
System.out.println;
System.out.println;
// 玩家类
class Player {
private String name;
private List hand;
public Player(String name) {
this.name = name;
this.hand = new ArrayList;
// 玩家获得一张牌
public void receiveCard(Card card) {
hand.add(card);
// 显示手牌
public void displayHand {
System.out.print(name + "的手牌: ");
for (Card card : hand) {
System.out.print(card + " ");
System.out.println;
// 清空手牌
public void clearHand {
hand.clear;
// Getters
public String getName { return name; }
public List getHand { return hand; }
// 主程序
public class PokerGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 创建一副牌
Deck deck = new Deck;
Deck;
System.out.println("初始牌组:");
deck.displayDeck;
// 洗牌
deck.shuffle;
System.out.println("\
洗牌后:");
deck.displayDeck;
// 创建玩家
System.out.print("请输入玩家数量: ");
int playerCount = scanner.nextInt;
scanner.nextLine; // 消耗换行符
List players = new ArrayList;
for (int i = 1; i
System.out.print("请输入玩家" + i + "的名字: ");
String name = scanner.nextLine;
players.add(new Player(name));
// 发牌
System.out.print("\
请输入每位玩家的发牌数量: ");
int cardsPerPlayer = scanner.nextInt;
for (int i = 0; i
for (Player player : players) {
Card card = deck.dealCard;
if (card != null) {
player.receiveCard(card);
} else {
System.out.println("牌已发完!");
break;
QQpoker苹果版下载// 显示所有玩家的手牌
System.out.println("\
发牌结果:");
for (Player player : players) {
player.displayHand;
// 显示剩余牌数
System.out.println("\
剩余牌数: " + deck.remainingCards);
scanner.close;
这个 Java 扑克牌程序具有以下功能:
1. Card 类
2. Deck 类
3. Player 类
4. PokerGameokerGame 主程序
你可以根据需要扩展这个程序,添加以下功能:
等)
希望这个程序对你有所帮助!
欢迎莅临▓qqpoker官方网站入口dr09.com▓2026最新版官方下载网址【cshyhb.com】以下简称:QQpoker安卓版下载app下载网址是多少✔全站,全称:QQpoker苹果版下载,Exciting Short Deck Poker玩法,官网下载地址,android版和ios版下载,刺激不间断!QQpoker俱乐部十大排名