java的Arraylist集合应用,斗地主小游戏案例

其实边做一些有意思的东西,边学知识是不枯燥的,曾经对于Arraylist集合就是不理解,经过了自己看视频整理笔记发现,最好的方式与方法就是做出一些有意思的东西,比如下面这个案例,通过这个案例可能会对你理解Arraylist集合有帮助

package IO_liu;

import java.util.ArrayList;
import java.util.Collections;

/*
 * 模拟斗地主发牌
 * 买牌
 * 洗牌
 * 发牌
 *
 */
public class CollectionsDemo {
	public static void main(String[] args) {
//		买牌
		String[] arr = { "黑桃", "红桃", "方片", "梅花" };
		String[] arr2 = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k" };
		ArrayList<String> box = new ArrayList<String>();
//		添加每张牌
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr2.length; j++) {
				// 获取每一张牌
				box.add(arr[i] + arr2[j]);
			}
		}
		box.add("大王");
		box.add("小王");
		System.out.println("总共有:" + box.size() + "牌");
		System.out.println(box);
//		洗牌
		Collections.shuffle(box);
		System.out.println(box);
//		发牌
		ArrayList<String> 林志玲 = new ArrayList<String>();
		ArrayList<String> 林心如 = new ArrayList<String>();
		ArrayList<String> 柳岩 = new ArrayList<String>();

//		留三张底牌给地主
		for (int i = 0; i < box.size(); i++) {
			/*
			 * i = 0 ; i%3 = 0 i = 1 ; i%3 = 1 i = 2 ; i%3 = 2 i = 3 ; i%3 = 0 i = 4 ; i%3 =
			 * 1 i = 5 ; i%3 = 2
			 */
			if (i % 3 == 0) {
				林志玲.add(box.get(i));
			} else if (i % 3 == 1) {
				林心如.add(box.get(i));
			} else if (i % 3 == 2) {
				柳岩.add(box.get(i));
			}
		}
		System.out.println("林志玲: \t" + 林志玲);
		System.out.println("林心如: \t" + 林心如);
		System.out.println("柳岩:\t " + 柳岩);
//		获取底牌
		System.out.println("地主的底牌为:");
		System.out.println(box.get(box.size() - 1));
		System.out.println(box.get(box.size() - 2));
		System.out.println(box.get(box.size() - 3));

	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ctrl精

面试很多问题,积攒不容易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值