/*
* 牌的规律:4个花色和13个点数构成4*13= 52
* 一个花色,和13个点数组合∶外循环是花色,内循环点数.形成了52个字符串
*容器存储五十二个字符串
*
*/
import java.util.ArrayList;
import java.util.Collections;
public class Poker {
public static void main(String[] args) {
//定义集合存储字符串(牌)
ArrayList<String> arrayList=new ArrayList<String>();
//一个花色,和13个点数组合∶外循环是花色,内循环点数.形成了52个字符串
//存储花色
String [] colrsStrings= {"♠","♥","♣","♦"};
//存储点数
String [] numberStrings= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for (int i = 0; i < colrsStrings.length; i++) {
for (int j = 0; j < numberStrings.length; j++) {
arrayList.add(colrsStrings[i]+numberStrings[j]);
}
}
//add添加王牌
arrayList.add("大王");
arrayList.add("小王");
System.out.println(arrayList);
//collection类集合元素随机排列
Collections.shuffle(arrayList);
//System.out.println(arrayList);
//定义四个集合.存储3个玩家的牌 ,存储底牌
ArrayList<String> player01=new ArrayList<String>();
ArrayList<String> player02=new ArrayList<String>();
ArrayList<String> player03=new ArrayList<String>();
ArrayList<String> bottom=new ArrayList<String>();
//发牌:遍历牌盒集合,利用索引%3
for (int i = 0; i < arrayList.size(); i++) {
//牌盒中的前三张放入底牌
if (i<3) {
bottom.add(arrayList.get(i));
}else {
if (i%3==0) {
player01.add(arrayList.get(i));
}
if (i%3==1) {
player02.add(arrayList.get(i));
}
if (i%3==2) {
player03.add(arrayList.get(i));
}
}
}
look("周星驰",player01);
look("周润发",player02);
look("周杰伦",player03);
look("底牌",bottom);
}
//定义方法,传递集合,遍历
public static void look(String name ,ArrayList<String> arrayList) {
System.out.print(name+"::");
for (int i = 0; i < arrayList.size(); i++) {
System.out.print(arrayList.get(i)+" ");
}
System.out.println();
}
}
list集合,灵活运用和遍历(扑克牌例子)
最新推荐文章于 2022-03-31 14:19:17 发布