java Random.nextInt()方法的具体使用
licintnextInt(intn)
该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。
直接上代码:
packageorg.xiaowu.random.demo; importjava.util.Random; importorg.junit.Test; publicclassRandomDemo{ @Test publicvoidDemo(){ Randomrnd=newRandom(); intcode=rnd.nextInt(8999)+1000; System.out.println("code:"+code); } @Test publicvoidDemo1(){ Randomr=newRandom(); intnextInt=r.nextInt(); Randomr1=newRandom(10); intnextInt2=r1.nextInt(); System.out.println("nextInt:"+nextInt); System.out.println("nextInt2:"+nextInt2); } /** *生成[0,1.0)区间的小数 * */ @Test publicvoidDemo2(){ Randomr=newRandom(); doubled1=r.nextDouble(); System.out.println("d1:"+d1); } /** *生成[0,5.0)区间的小数 * */ @Test publicvoidDemo3(){ Randomr=newRandom(); doubled2=r.nextDouble()*5; System.out.println("d1:"+d2); } /** *生成[1,2.5)区间的小数 * */ @Test publicvoidDemo4(){ Randomr=newRandom(); doubled3=r.nextDouble()*1.5+1; System.out.println("d1:"+d3); } /** *生成任意整数 * */ @Test publicvoidDemo5(){ Randomr=newRandom(); intn1=r.nextInt(); System.out.println("d1:"+n1); } /** *生成[0,10)区间的整数 * */ @Test publicvoidDemo6(){ Randomr=newRandom(); intn2=r.nextInt(10); intn3=Math.abs(r.nextInt()%10); System.out.println("n2:"+n2); System.out.println("n3:"+n3); } /** *生成[0,10]区间的整数 * */ @Test publicvoidDemo7(){ Randomr=newRandom(); intn3=r.nextInt(11); intn4=Math.abs(r.nextInt()%11); System.out.println("n3:"+n3); System.out.println("n4:"+n4); } /** *生成[-3,15)区间的整数 * */ @Test publicvoidDemo8(){ Randomr=newRandom(); intn4=r.nextInt(18)-3; intn5=Math.abs(r.nextInt()%18)-3; System.out.println("n4:"+n4); System.out.println("n5:"+n5); } }
Java中使用Random类中的nextInt()方法返回一个伪随机数
问题
今天想让程序返回一个区间内的随机数。忘记怎么写了,就去百度搜给出的结果并不对。
importjava.util.Random; /** *@authorHP *@date2019/4/16 */ publicclassrandomTest{ publicstaticvoidmain(String[]args){ Randomrandom=newRandom(); //生成64-128内的随机数 inti=random.nextInt()*(128-64+1)+64; /** *生成[m,n]的数字 *inti1=random.nextInt()*(n-m+1)+m; **/ //生成0-64内的数字 inti1=random.nextInt()*(64-0+1); /** *生成0-n之内的数字 *inti1=random.nextInt()*(n-0+1); * * **/ } }
这样是不对的,我就去查看API文档,发现nextInt()可以有参数也可以无参数。
无参数的方法直接调用返回的是一个很大的正负区间上的数。
如果想返回想要的范围内的数,应该:
packagechapter6; importjava.util.Random; importorg.omg.Messaging.SyncScopeHelper; publicclassRandomTest{ publicstaticvoidmain(String[]args){ Randomrandom=newRandom(); for(inti=0;i<200;i++) { //输出为0~13之间的整数 System.out.println(random.nextInt(14)); } System.out.println("----------------------------"); for(intj=0;j<100;j++){ //输出为-9~0之间的整数 System.out.println(random.nextInt(10)-9); } } }
到此这篇关于javaRandom.nextInt()方法的具体使用的文章就介绍到这了,更多相关javaRandom.nextInt使用内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!