5.扑克牌实现要求:1、用一个String[]数组存点数2、用一个String[]数组存花色3、用一个String[]数组存大王、小王4、用上面的数组,生成一副扑克牌5、遍历显示

import javafx.beans.binding.ListExpression;

import java.util.*;

public class demo5 {
    /*
    5.扑克牌

实现要求:

1、用一个String[]数组存点数

2、用一个String[]数组存花色

3、用一个String[]数组存大王、小王

4、用上面的数组,生成一副扑克牌

5、遍历显示全副扑克牌

6、模拟给4个人随机发牌,每个人11张牌

7、显示每个人的牌和剩余的牌
     */
    public static void main(String[] args) {

        String[] DE={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        String[] HS={"方片","梅花","红桃","黑桃"};
        String[] DXW={"大王","小王"};

        ArrayList<String>  Park= new ArrayList<>();
            //花色进行循环
            for(int n=0;n<HS.length;n++){
                //在进行大小循环
                for(int k=0;k<DE.length;k++) {
                    Park.add(HS[n] + DE[k]);
                }

            }
        Park.add(DXW[0]);
        Park.add(DXW[1]);

        System.out.println(Park);
        //将Park打乱放入新数组中
        Random rando=new Random();

        Iterator<String> it = Park.iterator();
        List<String> NewPark= new ArrayList<>();

        List<String> play1= new ArrayList<>();
        List<String> play2 = new ArrayList<>();
        List<String> play3 = new ArrayList<>();
        List<String> DZ = new ArrayList<>();//地主

        List<String> SY = new ArrayList<>();//剩余的牌数

        //迭代器Iterator遍历
        //遍历集合 将list中的元素打乱放入list1中;
        while (it.hasNext()) {
            //while (it.hasNext())遍历是否有有元素
            //list.size是list集合的长度;
            for (int i = 0; i < Park.size(); i++) {
                int t = (int) (Math.random() * Park.size());
                //list1.indexOf指向t元素在list1集合中的位置
                if (NewPark.indexOf(Park.get(t)) == -1) {
                    NewPark.add(Park.get(t));
                    Park.remove(t);

                } else {
                    i = i - 1;
                }
            }
        }
        System.out.println(NewPark);


        //分为四人
        //每人13张地主15
        //普通人13张牌
        for(int i=0;i<54;i++){

            if(i<11){
                play1.add(NewPark.get(i));

            }
            if(i>=11&&i<22){
                play2.add(NewPark.get(i));

            }

            if(i>=22&&i<33){
                play3.add(NewPark.get(i));

            }

            if(i>=33&&i<44){
                DZ.add(NewPark.get(i));
            }

            if(i>=44&&i<54){
                SY.add(NewPark.get(i));
            }
        }


        System.out.println("玩家一:"+play1+"\n"+"玩家二:"+play2+"\n"+"玩家三:"+play3+"\n"+"地主:"+ DZ+"\n"+"剩余牌数:"+SY);
        }


    }

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值