import java.util.ArrayList;import java.util.Collections;/*
Author:DS_loony
Date:2020/5/25 10:03
*/publicclassPoker{// 用两个数组放牌的花色,和牌的大小private String[] color ={"♥","♠","♦","♣"};private String[] number ={"2","1","K","Q","J","10","9","8","7","6","5","4","3"};// 装牌方法public ArrayList<String>fillPokers(){// 创建集合用来装牌
ArrayList<String> poker =newArrayList<>();// 用增强for循环把花色和牌的大小组装在一起放入集合中for(String c : color){for(String n : number){
StringBuilder p =newStringBuilder(c + n);
String s = p.toString();
poker.add(s);}}// 装两张特殊的牌,大王,小王
poker.add("大王");
poker.add("小王");return poker;}// 定义一个洗牌方法public ArrayList<String>shufflePokers(){
ArrayList<String> objects =fillPokers();
ArrayList<String> poker =(ArrayList<String>) objects;// 用Collections工具类的shuffle方法打乱集合的顺序
Collections.shuffle(poker);return poker;}// 定义一个发牌方法public ArrayList<String>[]sendPokers(){// 创建一个数组存储三个人的牌和底牌
ArrayList<String>[] person =newArrayList[4];
ArrayList<String> p1 =newArrayList<>();
ArrayList<String> p2 =newArrayList<>();
ArrayList<String> p3 =newArrayList<>();
ArrayList<String> dipai =newArrayList<>();
ArrayList<String> poker =shufflePokers();for(int i =0; i <54; i++){// 当剩余三张牌,放入底牌if(i >=51){
dipai.add(poker.get(i));// 用取余的方法分别给三个人发牌}elseif(i %3==0){
p1.add(poker.get(i));}elseif(i %3==1){
p2.add(poker.get(i));}elseif(i %3==2){
p3.add(poker.get(i));}}
person[0]= p1;
person[1]= p2;
person[2]= p3;
person[3]= dipai;return person;}}
接下来用PlayPokers类实现功能
import java.util.ArrayList;/*
Author:DS_loony
Date:2020/5/25 10:19
*/publicclassPlayPokers{publicstaticvoidmain(String[] args){
Poker p=newPoker();
ArrayList<String>[] poker = p.sendPokers();for(int i =0; i <4; i++){
System.out.println(poker[i]);}}}