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