import java.util.ArrayList;
import java.util.Collections;
/**
* 问题:实现扑克的洗牌和发牌功能
*
* 分析:
* 初始化一副扑克的,创建集合对象将扑克放进去
* 使用Collections的shuffle方法对集合进行洗牌
* 实现发牌,发三家牌
*/
public class Exercise04 {
public static void main(String[] args) {
//将扑克数字和花色放到数组中
String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String[] color = {"红桃","黑桃","方片","梅花"};
ArrayList<String> poker = new ArrayList<>();
//拼接扑克的花色和数字放到ArrayList中
for(String s1 : color) {
for(String s2 : num) {
poker.add(s1 + s2);
}
}
poker.add("小王");
poker.add("大王");
//洗牌
Collections.shuffle(poker);
//发三家牌
ArrayList<String> pony = new ArrayList<>();
ArrayList<String> robin = new ArrayList<>();
ArrayList<String> jack = new ArrayList<>();
ArrayList<String> dipai = new ArrayList<>();
for(int i = 0; i < poker.size(); i++) {
if(i >= poker.size() - 3) {
//留三张底牌
dipai.add(poker.get(i));
} else if(i % 3 == 0) {
pony.add(poker.get(i));
} else if(i % 3 == 1) {
robin.add(poker.get(i));
} else {
jack.add(poker.get(i));
}
}
//发牌
System.out.println("pony:" + pony);
System.out.println("robin:" + robin);
System.out.println("jack:" + jack);
System.out.println("dipai:" + dipai);
}
}
实现扑克的洗牌和发牌
-- 来源小猴子
其中有些算法还是可以学习和参阅的.