Math.random()好像是不可以做出两边都是闭合的区间,
只能做出一边闭合,一边不是闭合的区间来要0.4~0.8之间的随机函数,包含0.8,不包含0.4(double)
这个就可以,
(-1 * Math.random() * 0.4) + 0.8
因为你的闭合区间方向和Math.random相反,所以必须先乘以-1,改变原来的闭合方向
>>>>(-1,0]然后除以(1.0 / 0.4 )是为了将原来大小为1的区间改变成为0.4的区间
>>>>(-0.4,0]再加上0.8调整到正确位置
>>>>(0.4,0.8]
只能做出一边闭合,一边不是闭合的区间来要0.4~0.8之间的随机函数,包含0.8,不包含0.4(double)
这个就可以,
(-1 * Math.random() * 0.4) + 0.8
因为你的闭合区间方向和Math.random相反,所以必须先乘以-1,改变原来的闭合方向
>>>>(-1,0]然后除以(1.0 / 0.4 )是为了将原来大小为1的区间改变成为0.4的区间
>>>>(-0.4,0]再加上0.8调整到正确位置
>>>>(0.4,0.8]
这个改一下,说错了,是要要4~8之间的随机函数,4和8都包含(要int型)
public Untitled1(int param) {
int a = new Random().nextInt(param) + 4;
System.out.println("Got: " + a);
} public static void main(String[] args) {
int num = Integer.parseInt(args[0]);
Untitled1 untitled1 = new Untitled1(num);
}
}
这个就很简单,因为就只有5种情况
double d = Math.random();
int randResult = (int)Math.floor(d / 0.2) + 4;
“要0.4~0.8之间的随机函数,0.4和0.8都包含”如果这样的随机数都没有,那Math就太逊了吧