//用随机数模拟微信发红包的场景

import java.util.Random;
import java.util.Scanner;

public class Demo4 {

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();//随机数if(total / bagCount == 0.01) {for(int i = 1; i <= bagCount; i++) {System.out.println("第" + i + "个红包" + 0.01 + "元");}}else if(total / bagCount < 0.01) {System.out.println("不够分呢");}else {for(int i = 1; i < bagCount; i++) {/** 红包最大金额 = 总金额 - (总红包个数 - 已发出红包的个数) * 红包最小金额* 随机数在0到最大金额之间,因为要产生int型,故*100将两位小数变为整数,之后再除以100还原* */double max = total - (bagCount - i) * min;double bound = max - min;double safe = (double)c.nextInt((int) (bound * 100)) / 100;//nextInt(int n)返回0~n之间的随机值,n取不到double money = safe + min;//加上红包最小金额,以防出现0值total = total - money;//发出一个红包后的总金额System.out.println("第" + i + "个红包" + String.format("%.2f", money) + "元");}System.out.println("第" + bagCount + "个红包" + String.format("%.2f", total) + "元");sc.close();}
}

}

Random类模拟微信发红包相关推荐

  1. 编写一个函数,简单模拟微信发红包算法。

    编写一个函数,简单模拟微信发红包算法. 函数有两个参数:一个参数表示红包总金额,默认值为100:另一个参数表示红包数量,默认值为15. 所有随机产生的红包金额(保留两位小数)存放在一个列表(同时作为函 ...

  2. python模拟微信发红包,并验证随机性

    python模拟微信发红包,输入金额和红包个数,得到结果,多次发红包,验证先抢后抢红包大小的随机性是否一样. 1.思路 如100元发5个红包,结合几个点几个线段的数学知识,需要在0-100之间取4个不 ...

  3. 编写一个函数,模拟微信发红包的红包分配过程。函数有两个参数:一个参数表示红包总金额,默认值为100,另一个参数表示红包数量,默认为10。程序输入:红包总金额和红包数量;程序输出:每个红包的金额。要求:

    题目 ‬‬编写一个函数,模拟微信发红包的红包分配过程.函数有两个参数:一个参数表示红包总金额,默认值为100,另一个参数表示红包数量,默认为10.程序输入:红包总金额和红包数量:程序输出:每个红包的金 ...

  4. Java模拟微信发红包,一看就会

    自2014年1月26日悄悄上线后,微信红包迅速流行开来,其火爆程度,不亚于此前的"打飞机"小游戏.而收到红包后想要提现,就必须绑定银行卡,这样一来,绑定微信支付的用户数量大增. 先 ...

  5. Java模拟微信发红包

    作者说: 这个实验运用到了Random类的生成随机数的知识.String类的format方法保留两位小数.灵活运用类型转换. 这次注释写的很详细,因为我做这个实验的时候花了很长时间,我第一次用的方法不 ...

  6. 用Java写微信红包实现模拟微信发红包

    继承关系如下 题目: 某软件有多名用户(User类),某群聊中有群主(Manager类)和多名普通成员(Member类),现群主大方给成员发红包.红包的规则:群主发一笔金额,从群主余额中扣除,红包分配 ...

  7. h5拼手气红包java_Java模拟微信发红包(普通红包、拼手气红包)

    假设红包总额M元,分给N个人. 满足条件: 如果是普通红包,每个人获得的金额都一样: 如果是拼手气红包,则有所区别,但不能金额过于离谱,比如第一个获得的太多,以至于后来的人都几乎没得分. 注意点: 1 ...

  8. java微信红包_Java模拟微信发红包(普通红包、拼手气红包)

    假设红包总额M元,分给N个人. 满足条件: 如果是普通红包,每个人获得的金额都一样: 如果是拼手气红包,则有所区别,但不能金额过于离谱,比如第一个获得的太多,以至于后来的人都几乎没得分. 注意点: 1 ...

  9. 模拟微信发红包的算法工具类

    刚开始这个算法本身是bug 的,就是生成的尾数老是存在0,1,9 特别多,感觉上不是很好,就跟着思路修改啦一下,现在分享出来希望对大家有用,但是还是不是很完美,就是出现整数的概率很小 ,大家可以多试试 ...

最新文章

  1. python字符串截取split-python实现字符串完美拆分split()的方法
  2. 深入浅出之-route命令实战使用指南
  3. Forrester发布最新云化数仓象限报告: 阿里云获评“强劲表现者”,排名国内第一
  4. CString 操作指南
  5. DB2 SQL 递归实现多行合并
  6. form中action属性后面?传递参数 获取不到
  7. java集合多个最大值_Java 8 Stream 求集合元素每个属性的最大值
  8. Spring-context-ApplicationContextInitializer接口TODO
  9. 写一个方法,用一个for循环打印九九乘法表
  10. Simple:Press
  11. Redis NOAUTH Authentication required
  12. 为什么 Math.min() 比 Math.max() 大?
  13. 人工智能几行代码实现换脸,python+dlib实现图文教程
  14. 利用Google Drive將英文版的PDF翻译成中文版的PDF
  15. MATLAB论文绘图模板与尺寸设置
  16. 反编译so库破解so
  17. Dynamics CRM2013 Server2012R2下部署ADFS和IFD遇到的问题
  18. LIN雨量传感器:吉利雨量感应器拆解 MLX75308开发与应用
  19. 使用FileZilla下载Jason2和Jason3雷达高度计数据
  20. 如何将PlayStation 4恢复出厂设置

热门文章

  1. Android Studio修改配置,释放C盘空间
  2. python判断是否为闰年
  3. 服务器2003系统怎么卸载软件,Windows8系统怎么卸载office 2003软件
  4. 【LeetCode】976. 三角形的最大周长
  5. 让python cookie支持特殊字符
  6. Java开发中word转pdf那件事
  7. 关于env(safe-area-inset-bottom)的兼容问题
  8. MySQL_02 快速入门 MySQL(SQL、PHP)大全
  9. 北大才女一等奖作文《卖米》看哭无数人,原来有些人只是生活,就已花光所有力气
  10. 【闲聊】写给毕业生们的一些话