float minX = 50.0f;
float maxX = 100.0f;
Random rand = new Random();
float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX;
“在类型随机的方法nextFloat()是不适用的参数(浮动)”Random.nextFloat不适用于浮动?
嗯,什么?
float minX = 50.0f;
float maxX = 100.0f;
Random rand = new Random();
float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX;
“在类型随机的方法nextFloat()是不适用的参数(浮动)”Random.nextFloat不适用于浮动?
嗯,什么?
nextFloat
方法不带参数。调用它,然后缩放所需范围内的返回值。
float minX = 50.0f;
float maxX = 100.0f;
Random rand = new Random();
float finalX = rand.nextFloat() * (maxX - minX) + minX;
该文档非常清晰,nextFloat()
没有任何参数。它会给你一个0到1之间的数字,你需要在你的计算中使用它。
编辑:例如
private Random random = new Random();
public float nextFloat(float min, float max)
{
return min + random.nextFloat() * (max - min)
}
为他人所提出的建议读起来像下面。
float finalX = rand.nextFloat();
// do other stuff
随机只返回0和1.0(无重载版本一样为整数)之间浮动:这里请参阅Javadoc:http://download.oracle.com/javase/6/docs/api/java/util/Random.html#nextFloat()
我认为你可以做你与打算:
float finalX = (maxX - minX) * rand.nextFloat() + minX;
噢,我认为它可以像nextInt() – herpderp 2011-05-20 22:28:04
@herpderp一样工作:不,它只是返回一个介于0.0和1.0之间的值,您可以将其用作方便的缩放因子。 – 2011-05-20 22:30:41
到下一个浮动文档的链接已损坏。也许这一个https://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextFloat() – 2016-02-19 14:31:37