用java写从54张牌不放回随机抽取两张牌求花色和大小
时间: 2023-05-28 09:07:15 浏览: 63
以下是一个简单的Java程序,用于从一副牌中随机抽取两张牌,并计算它们的花色和大小。
```
import java.util.*;
public class DeckOfCards {
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<String>();
for (String suit : suits) {
for (String rank : ranks) {
deck.add(rank + suit);
}
}
// 从牌中随机抽取两张牌
Collections.shuffle(deck);
String card1 = deck.get(0);
String card2 = deck.get(1);
// 计算花色和大小
String suit1 = card1.substring(card1.length() - 1);
String suit2 = card2.substring(card2.length() - 1);
String rank1 = card1.substring(0, card1.length() - 1);
String rank2 = card2.substring(0, card2.length() - 1);
// 打印结果
System.out.println("第一张牌为:" + card1);
System.out.println("第二张牌为:" + card2);
System.out.println("第一张牌的花色为:" + suit1);
System.out.println("第二张牌的花色为:" + suit2);
System.out.println("第一张牌的大小为:" + rank1);
System.out.println("第二张牌的大小为:" + rank2);
}
}
```
这个程序首先创建了一副牌,然后使用 `Collections.shuffle()` 方法对牌进行随机排序。接着程序从牌中抽取两张牌,并分别计算它们的花色和大小。最后,程序打印出结果。运行这个程序,可能会得到类似下面的输出:
```
第一张牌为:5♥️
第二张牌为:K♦️
第一张牌的花色为:♥️
第二张牌的花色为:♦️
第一张牌的大小为:5
第二张牌的大小为:K
```