package 微信红包;
import java.util.Random;
import java.util.Scanner;
public class Weixinhongbao {
public static void main(String[] 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 c=new Random();
for(int i=1;i<bagCount;i++) {
/*
* 本次红包可以用的最大金额=可分配的金额-(红包个数-已发出的红包数)*红包的最小金额
*/
double max=total-(bagCount-i)*min;//下一个红包能包的最大面额
double bound=max-min;
double safe=c.nextInt((int)(bound*100))/100;//限制小数点后面位数
double money=safe+min;//由于random的最小值为0.01,通过这种形式进行限制
total=total-money;//发完这个红包后的剩余钱数
System.out.println("第"+i+"个红包;"+String.format("%.2f", money)+"元");
}
System.out.println("第"+bagCount+"个红包;"+String.format("%.2f", total)+"元");
// TODO 自动生成的方法存根
}
}
java小练习:微信红包
最新推荐文章于 2022-12-12 15:02:02 发布
该博客介绍了一个简单的Java程序,用于模拟微信红包的发放。用户可以输入总金额和红包个数,程序会随机分配每个红包的金额,确保最后一个红包包含剩余所有金额。程序中使用了Random类来生成随机红包金额,并进行了边界条件的处理,以确保每个红包的合法性。
3869

被折叠的 条评论
为什么被折叠?



