java打乱ArrayList生成一个随机ArrayList列表

自己写了一个,有时候会有需要。

public static <V> boolean isEmpty(ArrayList<V> sourceList) {
        return (sourceList == null || sourceList.size() == 0);
    }

/**
     * 打乱ArrayList
     * 
     * */
    public static <V> ArrayList<V> randomList(ArrayList<V> sourceList){
    	if (isEmpty(sourceList)) {
            return sourceList;
        }
    	
    	ArrayList<V> randomList = new ArrayList<V>( sourceList.size( ) );
    	do{
    		int randomIndex = Math.abs( new Random( ).nextInt( sourceList.size() ) );
        	randomList.add( sourceList.remove( randomIndex ) );
    	}while( sourceList.size( ) > 0 );
    	
    	return randomList;
    }


### 回答1: 我可以帮你生成一个Java扑克牌游戏。首先,你需要创建一个类,这个类将拥有定义牌、牌堆和玩家的方法。然后,你需要定义一个游戏类,这个类将拥有开始游戏、发牌、让玩家做出决定和结算输赢的方法。最后,你需要创建一个主类,它将负责创建并启动游戏。 ### 回答2: 生成一个Java扑克牌游戏可以参考以下步骤: 1. 首先,创建一个Card类来表示一张扑克牌。这个类需要有属性来表示花色和点数,以及相应的getter和setter方法。 2. 创建一个Deck类来表示一副扑克牌。这个类需要有一个Card对象的数组来存储牌,并且提供相应的方法来洗牌和发牌。 3. 在主程序中,实例化一个Deck对象并调用洗牌方法。 4. 创建一个Player类来表示玩家,这个类需要有一个ArrayList来存储玩家手中的牌,并提供相应的方法来加牌和展示手牌。 5. 在主程序中,创建多个Player对象来模拟多个玩家。 6. 实现游戏逻辑,比如玩家轮流从牌堆中拿牌并加入自己的手牌中,然后展示手牌。可以使用循环来模拟游戏的进行,直到牌堆中没有牌或者某个玩家将手中的牌都打出去为止。 7. 最后,根据游戏的规则判断胜利者,并展示胜利者的手牌。 通过以上步骤,我们可以实现一个简单的Java扑克牌游戏。当然,根据具体的需求和游戏规则,还可以进行更多的功能扩展,比如加入算牌功能、增加多种游戏玩法等。 ### 回答3: 生成一个Java扑克牌游戏,可以按照以下步骤进行: 1. 创建一个Card类表示扑克牌,该类包含属性如花色、牌面值等,可以使用枚举类型来定义花色和牌面值。 2. 创建一个Deck类表示一副扑克牌,该类包含一个Card数组来存储所有的牌,可以使用循环和嵌套循环来生成所有的牌。 3. 在Deck类中,可以实现洗牌功能,通过交换数组中的随机两个元素来随机打乱牌的顺序。 4. 创建一个Player类表示玩家,该类包含一个Hand对象用于存储玩家手中的牌。 5. 在Player类中,可以实现发牌功能,从Deck中抽取指定数量的牌,将其加入玩家的手中。 6. 可以为玩家添加其它功能,如查看手中的牌、出牌、抽牌等操作。 7. 创建一个Game类作为游戏的入口,该类可以实例化Deck对象和多个Player对象。 8. 在Game类中,可以按照游戏规则调用Deck对象的洗牌功能,将牌发给每个玩家。 9. 模拟游戏过程,可以依照规则让每个玩家进行操作,直到有一个玩家胜利或者游戏结束。 以上是一个简单的扑克牌游戏的实现思路,具体代码逻辑可以根据自己的需求进行调整和完善。扑克牌游戏是一个有趣的项目,可以让你学习和巩固Java面向对象的知识,同时培养你的编程逻辑思维能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值