随机数问题,怎么使用随机数在一个范围内

如何指定一个范围,使随机数在这个范围内;比如 范围是5到10或10到5,随机的数结果就是5到10直接的整数

(int) (Math.random() * Math.abs(b - a) + (a > b ? b : a));

 Math.random()产生一个0~1的数

Math.random() * (上限 - 下限) 产生一个 0 ~ (上限 - 下限)的数

Math.random() * (上限 - 下限) + 下限 产生一个下限 ~ 上限的数

(int)(Math.random() * (上限 - 下限) + 下限) 产生一个下限 ~ 上限的整数

看caozhy给的答案吧。主要就是利用Math.round()方法,这个方法给的随机数是一个0-1之间的double数字,注意的是不会为1,可以为0.

(int) (Math.random() * Math.abs(b - a) + (a > b ? b : a));