使用Java 实现54个字符串♠ ♣ ♥ ♦,2-9,JQKA 先洗牌,三个玩家每人轮流摸一张牌,剩余三张牌作为底牌,然后控制台分别打印三个玩家的牌和底牌。
时间: 2024-03-05 10:48:29 浏览: 112
统计字符串中字母和数字个数
好的,下面是一个使用 Java 实现你的需求的简单程序:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 生成一副扑克牌
String[] suits = {"♠", "♣", "♥", "♦"};
String[] ranks = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
List<String> deck = new ArrayList<>();
for (String suit : suits) {
for (String rank : ranks) {
deck.add(suit + rank);
}
}
// 洗牌
Collections.shuffle(deck);
// 发牌
List<String> player1 = new ArrayList<>();
List<String> player2 = new ArrayList<>();
List<String> player3 = new ArrayList<>();
List<String> bottomCards = new ArrayList<>();
for (int i = 0; i < deck.size(); i++) {
if (i % 3 == 0) {
player1.add(deck.get(i));
} else if (i % 3 == 1) {
player2.add(deck.get(i));
} else {
player3.add(deck.get(i));
}
}
bottomCards.addAll(deck.subList(deck.size() - 3, deck.size()));
// 打印每个玩家的牌和底牌
System.out.println("Player 1: " + player1);
System.out.println("Player 2: " + player2);
System.out.println("Player 3: " + player3);
System.out.println("Bottom cards: " + bottomCards);
}
}
```
程序中,我们首先使用数组表示扑克牌的花色和点数,然后使用 `ArrayList` 生成一副扑克牌。接下来,我们使用 `Collections.shuffle()` 函数将牌洗牌。然后,我们使用 `ArrayList` 将牌分别发给三个玩家,同时将最后三张牌作为底牌。最后,我们使用 `System.out.println()` 函数将每个玩家的牌和底牌打印出来。
注意,我们使用 Unicode 字符表示扑克牌的花色和点数。如果你的控制台无法显示这些字符,可能会出现乱码。
阅读全文