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

Omi*_*id7 3 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]).并在点之后给出一个十进制数.

Mar*_*arv 8

Random r = new Random();
double random = (r.nextInt(21)-10) / 10.0;
Run Code Online (Sandbox Code Playgroud)

会给你一个介于[-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;
}
Run Code Online (Sandbox Code Playgroud)

将在[min,max]之间返回步长为0.1的双精度数.

  • OP似乎希望0.1和0.2是可能的结果,但不是(比方说)0.1234. (3认同)