使用循环、数组,通过交换变量值实现洗牌

PractiseOne 专栏收录该内容
3 篇文章 0 订阅

使用循环、数组,通过交换变量值实现洗牌

  • 先定义一个pokers数组,用来存放扑克的数据;
  • 把扑克放入pokers中(将数据添加到pokers数组中)
  • 这里是通过变量值的交换实现洗牌,于是先设定一个交换的次数
  • 设定一个随机数的范围,需要用到Random.nextInt();
  • 最后再打印输出

代码如下:

public class ShufflePokers {
	// 洗牌
	public static void main(String[] args) {
		//先初始化数组
		int[] pokers=new int[54];
		//初始化随机数工具类
		Random r=new Random();
		
		//添加扑克牌到数组
		for(int i=0;i<pokers.length;i++) {
			pokers[i]=i+1;
		}
		
		//洗牌(通过索引替换值来交换牌的位置  与第一张交换)
		int times=100;//交换次数
		for(int i=0;i<times;i++) {
			int index=r.nextInt(pokers.length);//定义索引随机数的范围
            
			//通过中间变量交换
			int temp=pokers[0];
			pokers[0]=pokers[index];
			pokers[index]=temp;
		}
		
		//循环打印洗好的扑克
		int count=0;//定义一个计数器,用来换行显示
		for(int i=0;i<pokers.length;i++) {
			if(count%5==0) {
				System.out.println();//换行
			}
			System.out.print(pokers[i]+"\t");
			count++;
		}
	}

}
  • 1
    点赞
  • 1
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

Apasw

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值