float minX = 50.0f;
float maxX = 100.0f;
Random rand = new Random();
float finalX = rand.nextFloat(maxX - minX + 1.0f) + minX;
“Random类型中的方法nextFloat()不适用于参数(float)”
嗯,什么?答案 0 :(得分:78)
nextFloat
方法不参数。调用它,然后在你想要的范围内缩放返回的值。
float minX = 50.0f;
float maxX = 100.0f;
Random rand = new Random();
float finalX = rand.nextFloat() * (maxX - minX) + minX;
答案 1 :(得分:4)
Random只返回0到1.0之间的浮点数(没有像整数一样的重载版本):请参阅此处的Javadoc:http://download.oracle.com/javase/6/docs/api/java/util/Random.html#nextFloat()
我认为你可以做你想要的事情:
float finalX = (maxX - minX) * rand.nextFloat() + minX;
答案 2 :(得分:0)
文档非常清楚,nextFloat()
不带任何参数。它会给你一个0到1之间的数字,你需要在计算中使用它。
编辑:示例
private Random random = new Random();
public float nextFloat(float min, float max)
{
return min + random.nextFloat() * (max - min)
}
答案 3 :(得分:0)
如其他人所暗示的那样,应如下所示。
float finalX = rand.nextFloat();
// do other stuff