int randomWithRange(int min, int max)
{
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
输出10倍:randomWithRange(2, 5)
5
2
3
3
2
4
4
4
5
4
边界是包含性的,即 [2,5],并且必须小于上述示例中的边界。min
max
编辑:如果有人要尝试愚蠢并反转,您可以将代码更改为:min
max
int randomWithRange(int min, int max)
{
int range = Math.abs(max - min) + 1;
return (int)(Math.random() * range) + (min <= max ? min : max);
}
编辑2:对于您关于s的问题,它只是:double
double randomWithRange(double min, double max)
{
double range = (max - min);
return (Math.random() * range) + min;
}
再说一遍,如果你想白痴证明它,它只是:
double randomWithRange(double min, double max)
{
double range = Math.abs(max - min);
return (Math.random() * range) + (min <= max ? min : max);
}