案例分析:
1.准备牌
2.洗牌
3.发牌
4.看牌
1.准备牌
//定义一个集合,用来存储54张牌
ArrayList<String> list=new ArrayList<>();
//定义两个数组,分别来存储花色和数字
String []colors={"♦","♣","♥","♠"};
String []numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//将大王小王加入到拍中
list.add("大王");
list.add("小王");
//将这两个数组进行组装,用循环嵌套实行
for (String color:colors){
//System.out.println(count);
for (String number:numbers) {
//System.out.println(color+number);
//将组合后的牌全部加入到集合中
list.add(color+number);
}
}
2.洗牌
使用集合类工具Collections中的方法 static void shuffle(list<?> list)使用默认随机源对指定的列表进行置换 */ Collections.shuffle(list);
3.发牌
/*定义四个集合分别储存玩家的牌和底牌 */ ArrayList<String> player01=new ArrayList<>(); ArrayList<String> player02=new ArrayList<>(); ArrayList<String> player03=new ArrayList<>(); ArrayList<String> diPai =new ArrayList<>(); //使用for循环进行遍历,并将派发送到玩家手里 for (int i = 0; i < list.size(); i++) { list.get(i); //System.out.println(q); 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)); } }
4.看牌
System.out.println("刘德华"+player01);
System.out.println("周润发"+player02);
System.out.println("周星驰"+player03);
System.out.println("底牌"+diPai);