java.util.Random零参数查询

dee*_*erb 5 java

我正在尝试按照OU TMA文档中包含的说明编写游戏代码:

在构造函数中,编写代码以分配一个新的Random实例,您应该使用Random类的零参数构造函数创建它

这段代码会起作用吗?

Random ran = new Random(0) ;
Run Code Online (Sandbox Code Playgroud)

我是Java的相对新手,我不明白指令的含义

aio*_*obe 6

不,那不行.零参数构造函数是不带参数的构造函数:

Random ran = new Random();
Run Code Online (Sandbox Code Playgroud)

是要走的路.

两个构造函数的差异在API文档中有详细描述:

Random()
创建一个新的随机数生成器.此构造函数将随机数生成器的种子设置为非常可能与此构造函数的任何其他调用不同的值.使用单个长种子创建新的随机数生成器:

Random(long seed)
public Random(long seed) { setSeed(seed); }

也就是说,使用参数创建的Random对象将返回每次运行程序的相同序列的随机数,而通过零参数构造函数(或"无参数构造函数")创建的对象将尽力返回不同的序列.