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

java模擬微信搶紅包的實例代碼

 更新時間:2017年03月13日 10:20:57   作者:NatYang  
現(xiàn)在搶紅包的功能很受歡迎,本篇文章主要介紹了java模擬微信搶紅包的實例代碼。具有一定的參考價值,感興趣的小伙伴們可以參考一下。

java簡單模擬微信搶紅包功能,本例發(fā)100元紅包,有10個人搶,為了盡可能的公平,每個人的紅包金額都要隨機(jī)(保證結(jié)果的不確定性,本例搶紅包的次序與紅包金額匹配也隨機(jī)),就是不能出現(xiàn)部分紅包偏大部分偏小的情況,在區(qū)間0~100上隨機(jī)生成9個節(jié)點,加0和100共11個節(jié)點按從小到大排序,各節(jié)點之間的差值就是紅包金額,保證了紅包金額之和等于100。

public static void main(String[] args)
{
  // 發(fā)100元紅包,10人搶
  // TODO Auto-generated method stub
  // 發(fā)紅包總金額100元
  double S = 100;
  // 0-100之間9個節(jié)點,加首尾11個點賦值給數(shù)組a
  double[] a = new double[11];
  // 第一個數(shù)是0
  a[0] = 0;
  // 最后一個數(shù)是100
  a[a.length - 1] = S;
  // 生成9個數(shù)隨機(jī)節(jié)點并保留兩位小數(shù)
  for (int m = 1; m < a.length - 1; m++)
  {
    a[m] = Double.valueOf(String.format("%.2f", S * Math.random()));
  }
  // 冒泡排序?qū)?個點進(jìn)行排序
  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;
      }
    }
  }
  //紅包金額賦值給數(shù)組aa
  double[] aa = new double[a.length - 1];
  // 后一項減前一項的差值為紅包金額
  for (int n = 0; n < a.length - 1; n++)
  {
    double mon = a[n + 1] - a[n];
    //用自己的算法實現(xiàn)四舍五入保留兩位小數(shù)
    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;
  }
  //列表打亂數(shù)組aa中的順序,實現(xiàn)搶紅包的次序與紅包金額匹配隨機(jī)
  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);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 中限制方法的返回時間最新方法

    Java 中限制方法的返回時間最新方法

    最近在研究 ChatGPT 的 API 調(diào)用,因為 ChatGPT 的 API 調(diào)用時間通常超過 30 秒,所以我們希望在程序中限制這個方法的執(zhí)行時間,不要讓方法花太長時間去執(zhí)行了,今天通過本文給大家分享Java 中如何限制方法的返回時間,感興趣的朋友跟隨小編一起看看吧
    2023-05-05
  • java中如何獲取相關(guān)參數(shù)

    java中如何獲取相關(guān)參數(shù)

    這篇文章主要介紹了java獲取系統(tǒng)屬性相關(guān)參數(shù)的方法,,需要的朋友可以參考下
    2015-07-07
  • JAVA得到數(shù)組中最大值和最小值的簡單實例

    JAVA得到數(shù)組中最大值和最小值的簡單實例

    這篇文章主要介紹了JAVA得到數(shù)組中最大值和最小值的簡單實例,需要的朋友可以參考下
    2014-08-08
  • SpringBoot?攔截器返回false顯示跨域問題

    SpringBoot?攔截器返回false顯示跨域問題

    這篇文章主要介紹了SpringBoot?攔截器返回false顯示跨域問題,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Java中常用的設(shè)計模式之策略模式詳解

    Java中常用的設(shè)計模式之策略模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java中常用的設(shè)計模式之策略模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • springboot集成redis并使用redis生成全局唯一索引ID

    springboot集成redis并使用redis生成全局唯一索引ID

    本文主要介紹了springboot集成redis并使用redis生成全局唯一索引ID,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解析JavaSe的抽象類和接口

    解析JavaSe的抽象類和接口

    這篇文章主要為大家詳細(xì)介紹了JavaSe的抽象類和接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 深扒Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用

    深扒Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用

    po vo bo dto dao 和 pojo 是軟件開發(fā)中經(jīng)常使用的一些概念,用于設(shè)計和實現(xiàn)對象模型,下面將分別解釋這些概念的含義及其在開發(fā)中的應(yīng)用,這篇文章主要給大家介紹了關(guān)于Java中POJO、VO、DO、DTO、PO、BO、AO、DAO的概念和區(qū)別以及如何應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • SpringBoot3整合Druid監(jiān)控功能的項目實踐

    SpringBoot3整合Druid監(jiān)控功能的項目實踐

    Druid連接池作為一款強(qiáng)大的數(shù)據(jù)庫連接池,提供了豐富的監(jiān)控和管理功能,成為很多Java項目的首選,本文主要介紹了SpringBoot3整合Druid監(jiān)控功能的項目實踐,感興趣的可以了解一下
    2024-01-01
  • 詳談Java泛型中T和問號(通配符)的區(qū)別

    詳談Java泛型中T和問號(通配符)的區(qū)別

    下面小編就為大家?guī)硪黄斦凧ava泛型中T和問號(通配符)的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

山东省| 巩留县| 葵青区| 平阳县| 仙桃市| 望江县| 中西区| 阳东县| 永胜县| 株洲市| 铁力市| 子洲县| 余姚市| 正宁县| 汨罗市| 喀什市| 万山特区| 团风县| 扎鲁特旗| 西乌| 曲阜市| 安阳县| 遵义市| 宜兴市| 梁河县| 民勤县| 如东县| 宜章县| 资阳市| 宁武县| 黑龙江省| 阳新县| 开封市| 崇信县| 富源县| 和静县| 潮安县| 新竹市| 珠海市| 长宁区| 府谷县|