Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Random.nextFloat不适用于浮动?_Java_Random - Fatal编程技术网

Java Random.nextFloat不适用于浮动?

Java Random.nextFloat不适用于浮动?,java,random,Java,Random,“Random类型中的方法nextFloat()不适用于参数(float)” 嗯,什么?该方法不接受参数。调用它,然后将返回值缩放到所需的范围 float minX = 50.0f; float maxX = 100.0f; Random rand = new Random(); float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX; 文档非常清楚,nextFloat()不接受任何参数。它会给你一个介于0和1之间的数字,你需要在计

“Random类型中的方法nextFloat()不适用于参数(float)”

嗯,什么?

该方法不接受参数。调用它,然后将返回值缩放到所需的范围

float minX = 50.0f;
float maxX = 100.0f;

Random rand = new Random();

float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX;

文档非常清楚,
nextFloat()
不接受任何参数。它会给你一个介于0和1之间的数字,你需要在计算中使用它

编辑:示例

float minX = 50.0f;
float maxX = 100.0f;

Random rand = new Random();

float finalX = rand.nextFloat() * (maxX - minX) + minX;

正如其他人所建议的那样,它应该如下所示

private Random random = new Random();
public float nextFloat(float min, float max)
{
    return min + random.nextFloat() * (max - min)
}

仅随机返回浮点数介于0和1.0之间(没有像整数那样的重载版本):请参见此处的Javadocs:()

我认为你可以做你想做的事:

float finalX = rand.nextFloat();
// do other stuff

@herpderp:不,它只返回一个介于0.0和1.0之间的值,您可以将其用作方便的比例因子。到nextFloat文档的链接已断开。也许这个是JessevanMuijden是的,就是这个。谢谢
float finalX = (maxX - minX) * rand.nextFloat() + minX;