java - 为什么这总是正确的?

标签 java

我遇到随机真或假问题。 它每次只根据代码判断真或假。 有人有办法让它真正随机吗?

int times;

for (left = 0; left < times; left++) {
        boolean result = (Math.random() < 0.5);
        if(result = true){
            System.out.println("Heads");
        }
        else if(result = false){
            System.out.println("Tails");
        }
        System.out.println(result);

    }

最佳答案

if(result = true)

并没有像你想象的那样做。它实际上将 true 分配给 result,然后将其用作 if 语句的条件。因此,条件始终为真。

使用 == 代替,或者,因为它已经是一个 boolean 值,所以只需使用(适本地重命名变量,从过于通用的result ):

boolean FiftyPercentChance = (Math.random() < 0.5);
if (FiftyPercentChance) ...

关于java - 为什么这总是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324926/

相关文章:

java - 如何捕获 NoSuchMethodException

java - swing - 触发树单元格编辑事件

java - 设置 WebView 的尺寸

java - 从 Java SE 转换为 Java ME

java - forkjointask.java invokeall(t1,t2)方法,这个方法源码为什么不使用double join()方法?

java - Apache Camel JUnit 测试警告

Java内存优化(如何避免内存泄漏 - 具体示例)

java - 在.txt文件java中的不同行中写入问题

Java核心: returning null as boolean

java - 根据频率计算音符