思路
利用HashMap<>,健值对,健表示序号,值表示牌的值(大小)
Arraylist用来记录序号,并换乱
利用TreeSet,存储和排序
for循环显示牌
package comeon19;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
public class ddza {
public static void main(String[] args) {
HashMap<Integer,String> hm=new HashMap<Integer, String>();
ArrayList<Integer> array = new ArrayList<Integer>();
String[] numbers ={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String[] colors ={"♦", "♣", "♥", "♠"};
int index=0;
for (String number:numbers){
for (String color:colors){
hm.put(index,color+number);
array.add(index);
index++;
}
}
hm.put(index,"小王");
index++;
hm.put(index,"大王");
Collections.shuffle(array);
TreeSet<Integer> l = new TreeSet<Integer>();
TreeSet<Integer> m = new TreeSet<Integer>();
TreeSet<Integer> n = new TreeSet<Integer>();
TreeSet<Integer> q = new TreeSet<Integer>();
for (int i = 0; i < array.size(); i++) {
Integer s = array.get(i);
if (i>=array.size()-3){
q.add(s);
}else if (i%3==0){
l.add(s);
}else if (i%3==1){
m.add(s);
}else if (i%3==2){
n.add(s);
}
}
showpoker("ll",l,hm);
showpoker("mm",m,hm);
showpoker("nn",n,hm);
showpoker("q",q,hm);
}
public static void showpoker(String name,TreeSet<Integer> ts,HashMap<Integer,String> hm){
System.out.print(name+"的牌是");
for (Integer key:ts){
String poker = hm.get(key);
System.out.print(poker+" ");
}
System.out.println();
}
}