Java Random类构造方法的用法
importjava.util.*;publicclassMathOps{publicstaticvoidmain(String[]args){Randomrand=ne...
import java.util.*;
public class MathOps {
public static void main(String[] args) {
Random rand = new Random(55);
int x=rand.nextInt(5)+1;
System.out.println(x);
}
} ///:~
seed==55,运行结果只能产生1,但是如果构造方法无参数,结果是随机的,这是不是说明前一种方法无法产生随机数 展开
public class MathOps {
public static void main(String[] args) {
Random rand = new Random(55);
int x=rand.nextInt(5)+1;
System.out.println(x);
}
} ///:~
seed==55,运行结果只能产生1,但是如果构造方法无参数,结果是随机的,这是不是说明前一种方法无法产生随机数 展开
2个回答
展开全部
如果不传参数默认会把当前时间作为种子。
public Random() {
// Note: Using identityHashCode() to be hermetic wrt subclasses.
setSeed(System.currentTimeMillis() + System.identityHashCode(this));
}
在java中所谓的随机数只是通过对种子进行一些算数运算得到的,所以又叫伪随机数
protected synchronized int next(int bits) {
seed = (seed * multiplier + 0xbL) & ((1L << 48) - 1);
return (int) (seed >>> (48 - bits));
}
public int nextInt() {
return next(32);
}
由于生成的是伪随机数,所以在传入的种子很重要。
当不传入种子时,因为每次运行都会使用当前时间,而时间是一直在变的,所以每次运行时的种子也是在变的,因此你看到的结果是随机的。
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
展开全部
Random不需要传参的 给你个例子
public class RandomTest {
public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
public class RandomTest {
public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询