0

我时间紧迫,我想在这里发布我的查询。我是 Java 新手,这应该是非常初级的,但我无法从谷歌得到任何答案。

下面的第二行是什么意思?

double mutatePercent = 0.01;
boolean m1 = rand.nextFloat() <= mutatePercent;

我认为 <= 意味着小于或等于,但在上述用法中似乎并非如此。m1的值是怎么决定的?

谢谢!

4

3 回答 3

4

线

boolean m1 = rand.nextFloat() <= mutatePercent;

是形式

boolean m1 = <some boolean value>

rand.nextFloat() <= mutatePercent;

结果是一个布尔值,因此比较的结果rand.nextFloat() <= mutatePercent被分配给boolean变量m1

于 2012-11-26T05:19:03.013 回答
0

我认为 <= 意味着小于或等于

确实如此。

但在上述用法中似乎并非如此。

为什么不?


boolean m1 = rand.nextFloat() <= mutatePercent;

分配条件的值“此随机浮点数是否小于或等于0.01?” 到变量m1。因此,m1如果随机生成的数字小于或等于 ,则为真0.01

于 2012-11-26T05:17:11.097 回答
0

这正是它的意思。第二行执行“小于或等于”测试并分配结果 - 即。true 或 false - 到布尔变量m1

于 2012-11-26T05:18:19.397 回答