在Java中生成特定范围内的十进制随机数?

时间:2014-12-17 17:50:59

标签: java random decimal

如何在java中的两个指定变量之间生成随机整数十进制数, 例如x = -1和y = 1将输出-1.0,-0.9,-0.8,-0.7,......,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.9,1.0的任何一个

注意:它应该包括1和-1([-1,1])。并在点之后给出一个十进制数字。

2 个答案:

答案 0 :(得分:7)

Random r = new Random();
double random = (r.nextInt(21)-10) / 10.0;

在[-1,1]之间给出一个随机数,步长为0.1。

通用方法:

double myRandom(double min, double max) {
    Random r = new Random();
    return (r.nextInt((int)((max-min)*10+1))+min*10) / 10.0;
}

将在[min,max]之间返回步长为0.1的双打。

答案 1 :(得分:2)

如果你只需要介于-1和1之间,包括在内,以.1为增量,那么:

Random rand = new Random();
float result = (rand.nextInt(21) - 10) / 10.0;