Java随机数,介于100和500之间,是10的倍数

Java随机数,介于100和500之间,是10的倍数,java,random,Java,Random,我想在两个10的倍数的数字之间生成一个随机数。 例如,在100到500之间,我想生成一个均匀分布的110120。。。490, 500. 我认为最好按照帖子使用Random.nextInt()。但我不知道该怎么做 (Random.nextInt(41)+10)*10是正确答案。随机.nextInt(41)将生成0到40之间的数字。随机.nextInt(41)+10将生成0到50之间的数字 因此(Random.nextInt(41)+10)*10将生成100到500之间的数字。请注意,结果中还包括

我想在两个10的倍数的数字之间生成一个随机数。 例如,在100到500之间,我想生成一个均匀分布的110120。。。490, 500.

我认为最好按照帖子使用Random.nextInt()。但我不知道该怎么做

(Random.nextInt(41)+10)*10是正确答案。随机.nextInt(41)将生成0到40之间的数字。随机.nextInt(41)+10将生成0到50之间的数字


因此(Random.nextInt(41)+10)*10将生成100到500之间的数字。请注意,结果中还包括100和500

您可以使用此功能

public int random()
{
     Random r=new Random();
     return (r.nextInt(41)+10)*10;
}
读这个

nextInt(n)比Random更有效,也更少偏颇 Math.random()*n


通过一点运算,
(Random.nextInt(40)+10)*10
会给你想要的,我想。它不应该是
(Random.nextInt(40)+11)*10
,因为你的分布超过100110。。。480、490?这些是随机数b/w 100和500。不会有保证一致性的行为。是否每次都需要实例化Random?不需要。事实上,重新实例化可能会增加重复率!必须在类内将其声明为静态。(不在函数内部)