Java Random.nextFloat不适用于浮动?
“Random类型中的方法nextFloat()不适用于参数(float)” 嗯,什么?该方法不接受参数。调用它,然后将返回值缩放到所需的范围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之间的数字,你需要在计
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;