Java:模拟微信抢红包

1、输入红包金额、个数
2、循环计算第n-1个红包的金额,随机算法
3、输出最后一个红包金额

import java.text.DecimalFormat;
import java.util.Random;
import java.util.Scanner;/*** 模拟微信抢红包功能*/
public class RedBags { //创建一个RedBags类public static void main(String[] args) {System.out.println("—————————模拟微信抢红包—————————\n"); Scanner redtotal = new Scanner(System.in); //控制台输入System.out.print("请输入要装入红包的总金额(元):"); double redsum = redtotal.nextDouble(); //输入“红包的总金额”System.out.print("请输入红包的个数(个):"); int redbag = redtotal.nextInt(); //输入“红包的个数”double min = 0.01; //初始化“红包的最小金额”Random random = new Random(); //创建随机数对象randomDecimalFormat df = new DecimalFormat("###,###,###.##"); //创建DecimalFormat类的对象df,并设置格式for (int i = 1; i < redbag; i++) { double safe = (redsum - (redbag - i) * min) / (redbag - i); //通过公式模拟数学中的离散模型double money = (double) random.nextInt((int) ((safe - min) * 100)) / 100 + min; //根据离散模型得到每个红包的金额redsum = redsum - money; // 替换redsum的值String temp = df.format(money); //调用format()方法,对数字money格式化System.out.println("第" + i + "个红包:" + temp + "元"); //输出结果}String left = df.format(redsum); //调用format()方法,对数字redsum格式化System.out.println("第" + redbag + "个红包:" + left + "元"); //输出最后一个结果redtotal.close(); //关闭控制台输入}
}

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部