java斗地主怎么判断手中牌的牌型

a761485716 2018-01-05 01:12:41
public static void main(String[] args) {
String[] pai = new String[] { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2" };
HashMap<String, Integer> hj = new HashMap<>();
HashMap<String, Integer> hy = new HashMap<>();
HashMap<String, Integer> hb = new HashMap<>();

List<String> a = new ArrayList<String>();
for (int i = 0; i < pai.length; i++) {
a.add(pai[i]);
a.add(pai[i]);
a.add(pai[i]);
a.add(pai[i]);
}
a.add("大王");
a.add("小王");

Random rand = new Random();
String temp = null;
for (int k = 0; k < 100; k++) {
int p = a.size();
int l = rand.nextInt(p);
int m = rand.nextInt(p);
if (l == m)
continue;
{
temp = a.get(l);
a.set(l, a.get(m));
a.set(m, temp);
}
}

List<String> j = new ArrayList<String>();
List<String> y = new ArrayList<String>();
List<String> b = new ArrayList<String>();
List<String> d = new ArrayList<String>();
for (int i = 0; i < a.size(); i++) {
if (i >= a.size() - 3) {
d.add(a.get(i));
} else if (i % 3 == 0) {
j.add(a.get(i));
} else if (i % 3 == 1) {
y.add(a.get(i));
} else if (i % 3 == 2) {
b.add(a.get(i));
}
}
System.out.println(d);
System.out.println("甲" + j);
System.out.println("乙" + y);
System.out.println("丙" + b);
for (String str : j) {
if (hj.containsKey(str)) {
hj.put(str, hj.get(str) + 1);
} else
hj.put(str, 1);
}
System.out.println("j" + hj);

for (String str : y) {
if (hy.containsKey(str)) {
hy.put(str, hy.get(str) + 1);
} else
hy.put(str, 1);
}
System.out.println("y" + hy);

for (String str : b) {
if (hb.containsKey(str)) {
hb.put(str, hb.get(str) + 1);
} else
hb.put(str, 1);
}
System.out.println("b" + hb);
}

这是我已经写出得代码,用枚举法可以实现吗,求具体代码
...全文
297 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧