【Java开发基础】生成两个正数之间的随机数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int rangeStart = 99;
int rangeEnd = 180;
 
for (int i = 0; i < 100; i++) {
    // 确定模
    int mod = rangeEnd - rangeStart;
 
    //生成随机数
    randNum = Math.random();
    // num的值会在0到mod-1,也就是0到rangeEnd - rangeStart -1
    int num = ((int) (randNum * rangeEnd * 100)) % mod;
 
    // num加rangeStart之后,值域是0到rangeEnd - 1
    num += rangeStart;
 
    if (num <= rangeStart) {
        num = rangeStart + 1;
    }
    // 根据数据分析,这个条件不会满足,只是为了做最后的防护
    if (num >= rangeEnd) {
        num = rangeEnd - 1;
    }
    System.out.println("这次的随机数是:" + num);
}

  转自:https://time.geekbang.org/course/detail/100027801-96368

posted @   垄上行  阅读(447)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2016-07-19 echo\awk\sed\tee\curl的使用-shell
2016-07-19 python正则表达式
2016-07-19 Linux环境下$开头的相关变量的含义
点击右上角即可分享
微信分享提示