利用随机数实现扑克洗牌-Java

随机数的使用

1.使用random类生成随机数

在这里插入图片描述
2.算法策略

  1. 将这一副扑克牌看成一组有序数组,洗牌就是将这组数组变成无序状态。
  2. 产生两个随机数,代表两个数的位置,交换这两个数的位置。
  3. 重复9999次。
import java.util.Random;
class Poker{
	void show(String[] a){
		for(int i=0; i<a.length; i++)
		System.out.print(a[i]+" ");
		System.out.println();
	}
	void ruffle(String[] x){
		Random r =new Random();
		for(int i=0;i<9999;i++){
		    int m =r.nextInt(54);
		    int n =r.nextInt(54);
		    String t=x[m];
            x[m]=x[n];
            x[n]=t;
        }
    }
}
class App {
	public static void main(String args[])
	{
		Poker p =new Poker();
		String[] x ={
		"红桃A","红桃2","红桃3","红桃4","红桃5","红桃6","红桃7","红桃8","红桃9","红桃10","红桃J","红桃Q","红桃K",
		"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
		"梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K", 
		"方片A","方片2","方片3","方片4","方片5","方片6","方片7","方片8","方片9","方片10","方片J","方片Q","方片K",
	    "大王","小王"};
	    System.out.println("洗牌前:");
	    p.show(x);
	    p.ruffle(x);
        System.out.println();
        System.out.println("洗牌后:");
	    p.show(x);
	}
}

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值