最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 微信隨機(jī)紅包算法代碼實(shí)例

 更新時(shí)間:2016年10月11日 14:02:40   作者:李明澤  
這篇文章主要介紹了java 微信隨機(jī)紅包算法的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下

前幾天的一個(gè)晚上突然想到微信紅包應(yīng)該有一個(gè)隨機(jī)算法,就自己試著寫了下,也不知道對(duì)不對(duì),看了看網(wǎng)上的說(shuō)法,好像到現(xiàn)在為止官方也沒(méi)有給出一個(gè)確切的算法,只好在這里獻(xiàn)丑了,先貼出代碼:

 public static double [] getMoney(double money, int num){
    Random r = new Random();
    DecimalFormat format = new DecimalFormat(".##");
    
    double middle = Double.parseDouble(format.format(money/num));
    double [] dou = new double[num];
    double redMoney = 0;
    double nextMoney = money;
    double sum = 0;
    int index = 0;
    for(int i=num;i>0;i--){
      if(i == 1){
        dou[index] = nextMoney;
      }else{
        while(true){
          String str = format.format(r.nextDouble()*nextMoney);
          redMoney = Double.parseDouble(str);
          if(redMoney>0 && redMoney < middle){
            break;
          }
        }
        nextMoney = Double.parseDouble(format.format(nextMoney - redMoney));
        sum = sum + redMoney;
        dou[index] = redMoney;
        middle = Double.parseDouble(format.format(nextMoney/(i-1)));
        index++;
      }
    }
    return dou;
  }

這里一個(gè)基本思路是這樣的:首先算出紅包的平均值,再通過(guò)一個(gè)隨機(jī)紅包數(shù)小于這個(gè)平均值的紅包,當(dāng)該紅包發(fā)完后,紅包總金額需要相應(yīng)減少,同時(shí)重新計(jì)算這個(gè)平均值:新的總金額%(原總紅包數(shù)-1),直到最后一個(gè)紅包時(shí),把所有的剩余金額塞進(jìn)去。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • java8的stream如何取max

    java8的stream如何取max

    這篇文章主要介紹了java8的stream如何取max問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring常見(jiàn)錯(cuò)誤之Web嵌套對(duì)象校驗(yàn)失效解決辦法

    Spring常見(jiàn)錯(cuò)誤之Web嵌套對(duì)象校驗(yàn)失效解決辦法

    這篇文章主要介紹了Spring常見(jiàn)錯(cuò)誤之Web嵌套對(duì)象校驗(yàn)失效解決的相關(guān)資料,通過(guò)在Phone對(duì)象上添加@Valid注解,問(wèn)題得以解決,需要的朋友可以參考下
    2025-01-01
  • RocketMQ的push消費(fèi)方式實(shí)現(xiàn)示例

    RocketMQ的push消費(fèi)方式實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了RocketMQ的push消費(fèi)方式實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-08-08
  • java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)舉例詳解

    java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)舉例詳解

    要將日期值格式化為特定格式,請(qǐng)使用DATE_FORMAT函數(shù),下面這篇文章主要給大家介紹了關(guān)于java開(kāi)發(fā)之SQL語(yǔ)句中DATE_FORMAT函數(shù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • 解決mybatis三表連接查詢數(shù)據(jù)重復(fù)的問(wèn)題

    解決mybatis三表連接查詢數(shù)據(jù)重復(fù)的問(wèn)題

    這篇文章主要介紹了解決mybatis三表連接查詢數(shù)據(jù)重復(fù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Java socket字節(jié)流傳輸示例解析

    Java socket字節(jié)流傳輸示例解析

    這篇文章主要為大家詳細(xì)介紹了Java socket字節(jié)流傳輸示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 一文看懂springboot實(shí)現(xiàn)短信服務(wù)功能

    一文看懂springboot實(shí)現(xiàn)短信服務(wù)功能

    項(xiàng)目中的短信服務(wù)基本上上都會(huì)用到,簡(jiǎn)單的注冊(cè)驗(yàn)證碼,消息通知等等都會(huì)用到。這篇文章主要介紹了springboot 實(shí)現(xiàn)短信服務(wù)功能,需要的朋友可以參考下
    2019-10-10
  • Java如何使用ConfigurationProperties獲取yml中的配置

    Java如何使用ConfigurationProperties獲取yml中的配置

    這篇文章主要介紹了Java如何使用ConfigurationProperties獲取yml中的配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring Task定時(shí)任務(wù)的配置和使用詳解

    Spring Task定時(shí)任務(wù)的配置和使用詳解

    本篇文章主要介紹了Spring Task定時(shí)任務(wù)的配置和使用詳解,實(shí)例分析了Spring Task定時(shí)任務(wù)的配置和使用的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-04-04
  • Java BufferedOutputStream類的常用方法講解

    Java BufferedOutputStream類的常用方法講解

    這篇文章主要介紹了Java BufferedOutputStream類的常用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評(píng)論

西宁市| 深圳市| 顺平县| 永福县| 鹤庆县| 溆浦县| 信丰县| 武穴市| 乐清市| 宣武区| 重庆市| 双桥区| 突泉县| 富平县| 赤壁市| 开原市| 册亨县| 延寿县| 兴义市| 乌海市| 鄂州市| 舟曲县| 上饶县| 乌苏市| 遂川县| 新源县| 宁安市| 鄱阳县| 钦州市| 乌恰县| 靖西县| 永昌县| 肥西县| 樟树市| 莒南县| 陕西省| 尼木县| 石林| 呼伦贝尔市| 麻栗坡县| 财经|