Java Android中的随机数
我知道Android和Java中有很多关于随机数生成的主题。我目前正在编写一个可以掷5个骰子的应用程序。我目前使用Random生成这些数字。这是我的代码:Java Android中的随机数,java,android,random,Java,Android,Random,我知道Android和Java中有很多关于随机数生成的主题。我目前正在编写一个可以掷5个骰子的应用程序。我目前使用Random生成这些数字。这是我的代码: Random r = new Random(); a[0] = r.nextInt(6)+1; a[1] = r.nextInt(6)+1; a[2] = r.nextInt(6)+1; d[0] = r.nextInt(6)+1; d[1] = r.nextInt(6)+1; 文档表明,对于大多数任务,没有自定义种子的随机性就足够了。
Random r = new Random();
a[0] = r.nextInt(6)+1;
a[1] = r.nextInt(6)+1;
a[2] = r.nextInt(6)+1;
d[0] = r.nextInt(6)+1;
d[1] = r.nextInt(6)+1;
文档表明,对于大多数任务,没有自定义种子的随机性就足够了。当我在这么短的时间内生成5个随机数时,它还足够随机吗?如果我在每个随机数之后生成一个新的随机对象,有什么区别吗?如果您不使用自定义种子(例如基于时间或一些不易重复的itme),那么每次执行时,您的结果都会重复,即您将获得相同的伪随机数序列 您希望添加自定义种子,以便程序的连续执行不总是具有相同的结果
虽然简单的家庭作业问题不需要使用自定义种子,但最好添加自定义种子,这样您就可以了解如何使用自定义种子,以及为什么需要自定义种子来解决更复杂的问题。您不需要每次生成随机数时都使用新种子。相同的种子将生成相同的随机数字序列,因此您必须担心生成不可预测的种子。默认的Random构造函数将部分基于当前时间生成种子,该时间应足以满足您的需要。Random empty构造函数使用基于时间的种子,因此每次运行都会产生不同的序列。如果使用相同的自定义种子,则会得到相同的结果。