全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java模拟微信抢红包的实例代码

java简单模拟微信抢红包功能,本例发100元红包,有10个人抢,为了尽可能的公平,每个人的红包金额都要随机(保证结果的不确定性,本例抢红包的次序与红包金额匹配也随机),就是不能出现部分红包偏大部分偏小的情况,在区间0~100上随机生成9个节点,加0和100共11个节点按从小到大排序,各节点之间的差值就是红包金额,保证了红包金额之和等于100。

public static void main(String[] args)
{
  // 发100元红包,10人抢
  // TODO Auto-generated method stub
  // 发红包总金额100元
  double S = 100;
  // 0-100之间9个节点,加首尾11个点赋值给数组a
  double[] a = new double[11];
  // 第一个数是0
  a[0] = 0;
  // 最后一个数是100
  a[a.length - 1] = S;
  // 生成9个数随机节点并保留两位小数
  for (int m = 1; m < a.length - 1; m++)
  {
    a[m] = Double.valueOf(String.format("%.2f", S * Math.random()));
  }
  // 冒泡排序对9个点进行排序
  for (int i = 1; i < a.length - 2; i++)
  {
    for (int j = 1; j < a.length - 1 - i; j++)
    {
      if (a[j] > a[j + 1])
      {
        double temp;
        temp = a[j];
        a[j] = a[j + 1];
        a[j + 1] = temp;
      }
    }
  }
  //红包金额赋值给数组aa
  double[] aa = new double[a.length - 1];
  // 后一项减前一项的差值为红包金额
  for (int n = 0; n < a.length - 1; n++)
  {
    double mon = a[n + 1] - a[n];
    //用自己的算法实现四舍五入保留两位小数
    int n1 = (int) (mon * 1000);
    int c = n1 % 10;
    if (c > 4)
      mon = (double) ((n1 + 10) / 10) / 100;
    else
      mon = (double) (n1 / 10) / 100;
    aa[n] = mon;
  }
  //列表打乱数组aa中的顺序,实现抢红包的次序与红包金额匹配随机
  List<Double> list = new ArrayList<>();
  for(int i = 0; i < aa.length; i++)
  {
    list.add(aa[i]);
  }
  Collections.shuffle(list);
  for(double i:list)
  System.out.println(i);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # 微信抢红包  # 微信抢红包算法  # java实现  # java实现微信抢红包算法  # JAVA随机数随机字母的实现(微信抢红包小练习)  # Java实现4种微信抢红包算法(小结)  # 两位  # 抢红包  # 自己的  # 本例  # 都要  # 每个人  # 值为  # 从小到大  # 大家多多  # 总金额  # 偏大  # 偏小  # 四舍五入  # 发红包  # public  # brush  # class  # static  # args  # 人抢 


相关文章: 建站org新手必看:2024最新搭建流程与模板选择技巧  如何在阿里云香港服务器快速搭建网站?  一键网站制作软件,义乌购一件代发流程?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Swift中循环语句中的转移语句 break 和 continue  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何在IIS7中新建站点?详细步骤解析  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何通过.red域名打造高辨识度品牌网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Python路径拼接规范_跨平台处理说明【指导】  如何通过虚拟主机快速搭建个人网站?  已有域名如何免费搭建网站?  如何在阿里云服务器自主搭建网站?  ,制作一个手机app网站要多少钱?  如何获取开源自助建站系统免费下载链接?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站制作服务平台,有什么网站可以发布本地服务信息?  香港服务器选型指南:免备案配置与高效建站方案解析  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何零基础在云服务器搭建WordPress站点?  html制作网站的步骤有哪些,iapp如何添加网页?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  php json中文编码为null的解决办法  如何确保西部建站助手FTP传输的安全性?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  建站之星如何一键生成手机站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  临沂网站制作公司有哪些,临沂第四中学官网?  建站VPS选购需注意哪些关键参数?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  网站制作壁纸教程视频,电脑壁纸网站?  内部网站制作流程,如何建立公司内部网站?  javascript基本数据类型及类型检测常用方法小结  建站之星在线客服如何快速接入解答?  如何解决VPS建站LNMP环境配置常见问题?  存储型VPS适合搭建中小型网站吗?  教学论文网站制作软件有哪些,写论文用什么软件 ?  大连 网站制作,大连天途有线官网?  学校为何禁止电信移动建设网站?  如何在服务器上三步完成建站并提升流量?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  建站之星如何实现PC+手机+微信网站五合一建站?  如何通过多用户协作模板快速搭建高效企业网站?  建站之星后台管理:高效配置与模板优化提升用户体验  定制建站平台哪家好?企业官网搭建与快速建站方案推荐 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。