java怎么生成任意整数随机数,java生成任意整数随机数(任意指定范围)
1.java.util.Random2 .数学。随机3.Java 8 random . ints
目录
这随机()。nextInt(int bound)会生成一个从0(包括)到绑定(不包括)的随机整数。
(1)代码片段
对于getRandomNumberInRange(5,10),这将生成一个介于5(含)和10(含)之间的随机整数。
private static int getRandomNumberInRange(int min,int max){ if(min=max){ throw new IllegalArgumentException( max必须大于min’);} Random r=new Random();return r . nextint((max-min)1)min;}(2)什么是(最大最小)1)最小?
上面的公式将生成一个介于最小(含)和最大(含)之间的随机整数。
//Random().nextInt(int bound)=1从0(含)到绑定(不含)//1的随机整数nextInt(range)=nextInt(max-min)new Random()。nextInt(5);//[0.4][最小值=0,最大值=4]新随机()。nextInt(6);//[0.新随机()。nextInt(7);//[0.6]新随机()。nextInt(8);//[0.7]新随机()。nextInt(9);//[0.8]新随机()。nextInt(10);//[0.9]新随机()。nextInt(11);//[0.10]//2.要包括最后一个值(最大值)=(范围1)新的Random().nextInt(5 1) //[0.5][最小值=0,最大值=5]新随机()。nextInt(6 1) //[0.6]新随机()。nextInt(7 1) //[0.7]新随机()。nextInt(8 1) //[0.8]新随机()。nextInt(9 1) //[0.9]新随机()。nextInt(10 1) //[0.10]新随机()。nextInt(11 1) //[0.11]//3.要定义一个范围内的起始值(最小值),//例如,范围应该从10=(范围1) minnew Random()开始nextInt(5 1) 10 //[0.5] 10=[10.15]新随机()。nextInt(6 1) 10 //[0.6] 10=[10.16]新随机()。nextInt(7 1) 10 //[0.7] 10=[10.17]新随机()。nextInt(8 1) 10 //[0.8] 10=[10.18]新随机()。nextInt(9 1) 10 //[0.9] 10=[10.19]新随机()。nextInt(10 1) 10 //[0.10] 10=[10.20]新随机()。nextInt(11 1) 10 //[0.11] 10=[10.21]//Range=(max - min)//所以,最后的公式是((max - min) 1) min//4 .测试[10].30]//min=10,max=30,range=(max - min)new Random().nextInt((max-min)1)minnew Random().nextInt((30 - 10) 1) 10new Random().nextInt((20) 1) 10new Random().nextInt(21) 10 //[0.20] 10=[10.30]//5.测试[15].99]//min=15,max=99,range=(max - min)new Random().nextInt((max-min)1)minnew Random().nextInt((99 - 15) 1) 15new Random().nextInt((84) 1) 15new Random().nextInt(85) 15 //[0.84] 15=[15.99]//搞定,明白吗?(3)生成10 个随机整数的完整示例,范围在5(含)和10(含)之间。
包com。mkyong。举例。测试;导入Java。util。随机;公共类test random { public static void main(String[]args){ for(int I=0;i 10I){系统。出去。println(getRandomNumberInRange(5,10));} }私有静态int getRandomNumberInRange(int min,int max){ if(min=max){ throw new IllegalArgumentException( max必须大于min’);} Random r=new Random();return r . nextint((max-min)1)min;}}输出
761089571085
1. java.util.Random
这Math.random()给出了一个从0.0(包括)到1.0(不包括)的随机双精度值。
(1)代码片段。参考1.2,或多或少是相同的公式。
(int)(数学。random()*((max-min)1))min
(2)生成16(含)到20(含)范围内的10个随机整数的完整示例。
包com。mkyong。举例。测试;公共类test random { public static void main(String[]args){ for(int I=0;i 10I){系统。出去。println(getRandomNumberInRange(16,20));} }私有静态int getRandomNumberInRange(int min,int max){ if(min=max){ throw new IllegalArgumentException( max必须大于min’);} return(int)(数学。random()*((max-min)1))min;}}输出
17162019202020172016
2. 数学.随机
在Java 8中,添加了新方法java.util.Random
public int stream ints(int randomNumberOrigin,int randomNumberBound)public int stream ints(long stream size,int randomNumberOrigin,int randomNumberBound)这Random.ints(int origin,int bound)或Random.ints(int min,int max)生成一个从原点(包括)到绑定(不包括)的随机整数。
(1)代码片段。
private static int getRandomNumberInRange(int min,int max){ Random r=new Random();返回r . int(最小值,(最大值为1))。findFirst().getas int();}(2)生成33(含)到38(含)范围内的10 个随机整数的完整示例。
包com。mkyong。形式。测试;导入Java。util。随机;公共类test random { public static void main(String[]args){ for(int I=0;i 10I){系统。出去。println(getRandomNumberInRange(33,38));} } private static int getRandomNumberInRange(int min,int max){ Random r=new Random();返回r . int(最小值,(最大值为1))。极限(1)。findFirst().getas int();}}输出
34353733383734353637
(3)额外,供自己参考。
生成范围在33(含)和38(不含)之间的随机整数,流大小为10。并打印出带有forEach .
//仅Java 8 new Random().整数(10,33,38)。forEach(系统。out :3360 println);输出
34373734343536333734
到此这篇关于爪哇超详细讲解如何生成随机整数的文章就介绍到这了,更多相关爪哇生成随机数内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。