int randomWithRange(int min, int max){ int range = (max - min) + 1; return (int)(Math.random() * range) + min;}
输出
randomWithRange(2, 5)10次:
5233244454
边界是包含边界的,即
[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);}
EDIT2:关于doubles 的问题,只是:
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);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)