ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java随机数的生成

2022-08-27 22:02:11  阅读:215  来源: 互联网

标签:11 10 Java int random 生成 随机 随机数


Random类

生成一个[0,10)的随机整数
Random random = new Random();
int num1 = random.nextInt(10);

生成一个[0,10]范围的随机整数
[0,11) -> [0,10]

int num2 = random.nextInt(11);

生成一个[1,10]范围的随机整数
[0+1,10+1) -> [1,11) -> [1,10]
int num3 = random.nextInt(10) + 1;

Math.random()
它的作用是生成一个[0,1)的随机小数

生成一个[0,10)的随机小数
double类型的[0,10)
[0,1) -> [0,10)
double a_double = Math.random() * 10;

生成一个[0,10)的随机整数
int num1 = (int)a_double;

生成一个[0,10]范围的随机整数
强转为int时是向下取整 floor()
[0,10+0.5) -> [0,10.5) -> [0,10]

int num2 = (int) (a_double + 0.5);

或一步到位
int num3 = (int) (Math.random() * 10 + 0.5);

生成一个[1,11]范围的随机整数
[0+1.5,10+1.5) -> [1.5,11,5] 向下取整为 -> [1,11]
int num4 = (int) (Math.random() * 10 + 1.5);

测试代码
for (int i = 0; i < 1000; i++) {
a = (int) (Math.random() * 10 + 1.5);
if (a == 1) System.out.println(0);
if (a == 11) System.out.println(11);
}

标签:11,10,Java,int,random,生成,随机,随机数
来源: https://www.cnblogs.com/inanzhi/p/16631587.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有