欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java Random类实现微信抢红包

程序员文章站 2024-01-18 21:37:10
1、语法:Random r = new Random();Random类提供了一些方法来获取随机数:nextInt() 返回随机生成int值nextLong() 返回随机long值nextDouble() 返回随机Double值nextFloat() 返回随机Float值nextBoolean() 返回随机Boolean值最常用的是nextInt(int n)方法,参数是一个int值,取值范围:0 <= nextInt(int n) < n,会等于0不会等于n。Random...

1、语法:Random r = new Random();

Random类提供了一些方法来获取随机数:

  • nextInt() 返回随机生成int值
  • nextLong() 返回随机long值
  • nextDouble() 返回随机Double值
  • nextFloat() 返回随机Float值
  • nextBoolean() 返回随机Boolean值

最常用的是nextInt(int n)方法,参数是一个int值,取值范围:0 <= nextInt(int n) < n,会等于0不会等于n。

Random r = new Random();
System.out.println(r.nextInt(10));

上面输出值在0到10之间,会随到0,但永远不会随到10。

2、通过Random类实现一个小功能:微信抢红包

public class Demo{
	public static void main(Stirng[] args){
		System.out.println("----------微信抢红包-----------");
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入红包的总金额(元):");
		double total = sc.nextDouble();
		System.out.println("请输入红包的个数");
		int bagCount = sc.nextInt();
		double min = 0.01;//红包最小金额
		Random r = new Random();
		for(int i = 1;i < bagCount;i++){
			//本次红包可用的最大金额 = 可分配的金额 - (红包的个数 - 已发出的红包数)* 最小金额
			double max = total - (bagCount - i) * min;
			double bound = max - min;
			
			double safe = (double)c.nextInt((int)(bound * 100)) / 100;
			double money = safe + min;
			total = total - money;
			System.out.println("第"+i+"个红包"+String.format("%.2f",money)+"元");
		}
		System.out.println("第"+bagCount+"个红包:"+String.format("%2f"),total)+"元");
	}
}

本文地址:https://blog.csdn.net/weixin_44296929/article/details/107641460

相关标签: Java面向对象