我正在尝试按照OU TMA文档中包含的说明编写游戏代码:
在构造函数中,编写代码以分配一个新的Random实例,你应该使用Random类的零参数构造函数创建它
此代码是否有效?
Random ran = new Random(0) ;
我是Java的相对新手,我不明白指令的含义
答案 0 :(得分:6)
不,那不行。零参数构造函数是一个带 no 参数的构造函数:
Random ran = new Random();
是要走的路。
两个构造函数的差异在API文档中有详细描述:
Random()
创建一个新的随机数生成器。此构造函数将随机数生成器的种子设置为非常可能与此构造函数的任何其他调用不同的值。
Random(long seed)
使用单个长种子创建新的随机数生成器:public Random(long seed) { setSeed(seed); }
也就是说,使用参数创建的Random对象将返回每次运行程序的相同序列的随机数,而通过零参数构造函数创建的对象(或“无参数构造函数”)将执行其最好返回不同的序列。