今天也是混日子的一天
这段代码模拟了扑克牌发牌与洗牌的过程,重点在于用ArrayList存储扑克牌
代码如下
package itheima_03;
//导工具包
import java.util.ArrayList;
import java.util.Collections;
//定义扑克类
public class PokerDemo {
public static void main(String[] args) {
// 创建扑克列表,泛型为字符串型
ArrayList<String> poker = new ArrayList<>();
// 定义花色
String[] colors = {"♣", "♠", "♥", "♦"};
// 定义数字
String[] numbers = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
// 将花色与数字拼接起来放到扑克列表中
for (int i = 0; i < colors.length; i++) {
for (int j = 0; j < numbers.length; j++) {
poker.add(colors[i] + numbers[j]);
}
}
// 向扑克列表中添加大小王
poker.add("大王");
poker.add("小王");
//洗牌,利用Collections类的shuffle方法
Collections.shuffle(poker);
// 创建用户列表与底牌列表
ArrayList<String> user1 = new ArrayList<>();
ArrayList<String> user2 = new ArrayList<>();
ArrayList<String> user3 = new ArrayList<>();
ArrayList<String> left = new ArrayList<>();
//取出三张牌放进底牌列表中
for (int i = 0; i < 3; i++) {
left.add(poker.get(i));
poker.remove(i);
}
//向用户发牌
for (int i = 0; i < poker.size(); i++) {
if (i % 3 == 0) {
user1.add(poker.get(i));
} else if (i % 3 == 1) {
user2.add(poker.get(i));
} else if (i % 3 == 2) {
user3.add(poker.get(i));
}
}
// 遍历用户的牌和底牌,打印结果
System.out.println("用户1的牌是:"+user1);
System.out.println("用户2的牌是:"+user2);
System.out.println("用户3的牌是:"+user3);
System.out.println("底牌是:"+left);
}
}
结果如下
由于存在Collections类的Shuffle方法,每次发牌的结果不同,我们可以多运行几次得到完全不一样的结果
结果1:
结果2: