请问java里java random.nextint的nextInt(4)-2是什么意思?

java.util.Random&类的&nextInt(int&num&)
随机产生3个67~295的整数并找出数值居中的数 并输出中间的数
例如:100,225和200,输出200
要随机产生某个范围内的整数,用 java.util.Random 类的 nextInt(int num) 最简洁。
nextInt( int num) 能接受一个整数作为它所产生的随机整数的上限,下限为零,比如:
nextInt(4)将产生0,1,2,3这4个数字中的任何一个数字,注意这里不是0-4,而是0-3。
。但下限总是零,不能更改,所以若要达到非零下限的效果,必须把上限减去下限的结果传给 nextInt( ),然后把下限加入
nextInt( ) 返回的整数。
把随机数采集到数组里,然后用同样是在 java.util 包里的 Arrays.sort( )
做数组排序后,居中数近在眼前。
import java.util.*;
public static void main( String[ ] args ) {
Random rand = new Random( );
int[ ] trio = new int[ 3 ];
System.out.println( "Three random integers in the range of [67,
for( int i = 0; i & 3; ++i ) {
&&&&&&&&&&&&
trio[ i ] = rand.nextInt( 295 - 67 ) + 67;
&&&&&&&&&&&&
System.out.println( trio[ i ] );
Arrays.sort( trio );
System.out.println( "\nMedian:\n" + trio[ 1 ] );
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。12:31 提问
java random nextint为什么我不能产生800个随机数,700个数字就可以
public static void main(String[] args)
Scanner input=new Scanner(System.in);//创建一个键盘扫描类对象
System.out.print("请您输入排序个数:");
int num=input.nextInt();
//输入整型
System.out.print("随机生成"+num+"个整数:");
Random r = new Random();
int a[]=new int[num];
for(int i = 0;i &i++)
int n=r.nextInt(1000);
System.out.print(n+"
按赞数排序
Scanner input=new Scanner(System.in);//创建一个键盘扫描类对象
System.out.print("请您输入排序个数:");
int num=input.nextInt(); //输入整型
System.out.print("随机生成"+num+"个整数:");
Random r = new Random();
int a[]=new int[num];
for(int i = 0;i &i++)
int n=r.nextInt(1000);
System.out.println("第" + i + "个数字-& " + n);
貌似没有出问题么。。。 我运行了 好着
其他相似问题import&java.util.*;
public&class&String_16&{
&&&&public&static&void&main(String&[]&args){
&&&&&&&&Random&rand&=&new&Random(47);
&&&&&&&&String&[]&s&=&new&String[rand.nextInt(20)];
&&&&&&&&System.out.println(s.length);
&&&&&&&&System.out.print(Arrays.toString(s));
&&&&&&&&System.out.println();
Random.nextInt()&得到的是随机结果呀,
但这个测试程序都是输出18,
还有我看&Thinking&in&java
里面为什么老是用&47&作为参数呀!
回复讨论(解决方案)
Random得到的都是伪随机数列,你每次都以47作为种子,得到的当然是每次都是18了。
相同的种子总是会产生同样的数列。
Java&codeimport&java.util.*;
public&class&String_16&{
&&&&public&static&void&main(String&[]&args){
&&&&&&&&//Random&rand&=&new&Random(47);
&&&&&&&&Random&rand&=&new&Random(System.currentTimeMillis());&//用这个就好了
&&&&&&&&String&[]&s&=&new&String[rand.nextInt(20)];
&&&&&&&&System.out.println(s.length);
&&&&&&&&System.out.print(Arrays.toString(s));
&&&&&&&&System.out.println();
&Random.nextInt()&得到的是随机结果呀,&
&但这个测试程序都是输出18,&
这个是根据你new的这个数组传进去的随机数有关,你把20&改成其他的他拿到的随机数就不一样了。
以固定数做种子产生的随机数每次相同。
书上着这样写就是为了便于观察结果,至于为什么用47是作者的喜好吧,Bruce&eckel说47是魔数。
Random得到的都是伪随机数列,你每次都以47作为种子,得到的当然是每次都是18了。
相同的种子总是会产生同样的数列。
学习了。。
你用不???的?造方法?建?象阿..
Random&rand=new&Random();
rand.nextInt(20);
??不就不重?了??
Random得到的都是伪随机数列,你每次都以47作为种子,得到的当然是每次都是18了。&
相同的种子总是会产生同样的数列。如果不加47结果运行的会每次不同。
Random&random=new&Random()
每次都用47为随即种子的话..得到的自然就一样
......THINK&IN&JAVA为啥用47做种子...可能作者他喜欢这个数字???
学习了,S1时有用过这个随机数,好像都没传过参呢,想想也知道,传了参就不随机了,有一定的限制性在里头了.
Random得到的都是伪随机数列,你每次都以47作为种子,得到的当然是每次都是18了。&
相同的种子总是会产生同样的数列。如果不加47结果运行的会每次不同。
跟各位学习了

我要回帖

更多关于 randomutils.nextint 的文章

 

随机推荐