解题过程:
package demo_05;
import java.util.ArrayList;
import java.util.Collections;
public class PoKer {
public static void main(String[] args) {
// 制作poker牌
ArrayList<String> list = new ArrayList<>();
String[] color = {"红桃", "梅花", "黑桃", "方片"};
String[] number = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
list.add("大王");
list.add("小王");
for (String s : color) {
for (String s1 : number) {
String str = s + s1;
list.add(str);
}
}
// 洗牌
Collections.shuffle(list); // 随机将list 集合元素打乱
// 分发牌面
ArrayList<String> player01 = new ArrayList<String>();
ArrayList<String> player02 = new ArrayList<String>();
ArrayList<String> player03 = new ArrayList<String>();
ArrayList<String>dipai = new ArrayList<String>();
for (int i = 0; i < list.size(); i++) {
if(i>=51)
{
dipai.add(list.get(i));
}
else if(i%3==0)
{player01.add(list.get(i));
}
else if(i%3==1)
{player02.add(list.get(i));
}
else if(i%3==2)
{player03.add(list.get(i));
}
}
// 查看牌面
System.out.print("底牌:");
System.out.println(dipai);
System.out.print("玩家1::");
System.out.println(player01);
System.out.print("玩家2::");
System.out.println(player02);
System.out.print("玩家3::");
System.out.println(player03);
}
}
看牌排序的代码
package demo_06;
import kotlin.reflect.jvm.internal.impl.util.collectionUtils.ScopeUtilsKt;
import java.awt.*;
import java.util.*;
import java.util.List;
public class PoKerSortTest {
public static void main(String[] args) {
HashMap<Integer, String> poker = new HashMap();
ArrayList<Integer> pokernum = new ArrayList<>();
String[] color = {"红桃", "黑桃", "梅花", "方片"};
String[] number = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
int nums=0;
poker.put(nums,"大王");
pokernum.add(nums);
nums++;
poker.put(nums,"小王");
pokernum.add(nums);
nums++;
for (String s1 : number) {
for (String s2 : color) {
poker.put(nums,s2+s1);
pokernum.add(nums);
nums++;
}
}
Collections.shuffle(pokernum);
ArrayList<Integer> p1=new ArrayList<>();
ArrayList<Integer> p2=new ArrayList<>();
ArrayList<Integer> p3=new ArrayList<>();
ArrayList<Integer> dipai=new ArrayList<>();
for (int i = 0; i <pokernum.size(); i++) {
Integer in = pokernum.get(i);
if(i>=51)
{
dipai.add(in);
}
else if(i%3==0){
p1.add(in);
}
else if(i%3==1){
p2.add(in);
}
else if(i%3==2){
p3.add(in);
}
}
Collections.sort(p1);
Collections.sort(p2);
Collections.sort(p3);
Collections.sort(dipai);
seepoker("玩家1",poker,p1);
seepoker("玩家2",poker,p2);
seepoker("玩家3",poker,p3);
seepoker("底牌",poker,dipai);
}
private static void seepoker(String name,HashMap<Integer, String> poker,ArrayList<Integer> list) {
System.out.print(name+"::");
for (Integer key: list) {
String str = poker.get(key);
System.out.print(str+" ");
}
System.out.println();
}
}