You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java代码运行出现int转boolean报错该如何解决?

你遇到的int转boolean报错是因为代码中if判断误将比较运算符==写为赋值运算符=导致的。
Java的if语句要求括号内必须返回boolean类型的结果,FlipResult = 1是赋值操作,整个表达式的返回值是赋值后的int值1,Java不支持int到boolean的自动类型转换,因此触发编译报错。

修正后的完整代码

public class HeadsOrTails {

    public static void main(String[] args) {
        int Heads = 0;
        int Tails = 0;
        
        for(long simulation = 1; simulation <= 2000000; simulation += 1)
        {
            int FlipResult = FlipCoin();
            // 把赋值=改成比较==
            if(FlipResult == 1)
            {
                Heads +=1;
            }
            // 把赋值=改成比较==
            else if(FlipResult == 0)
            {
                Tails += 1;
            }
        }
        System.out.println("Numer of heads appeared: " + Heads);
        System.out.println("Numer of tails appeared: " + Tails);
    }
    private static int FlipCoin() 
    {
        return (int) (Math.random() + 0.5);
    }

}

可选优化点

因为FlipCoin方法的返回值只有0和1两种可能,所以可以简化判断逻辑,省去第二次比较:

if(FlipResult == 1) {
    Heads++;
} else {
    Tails++;
}

内容的提问来源于stack exchange,提问作者Cyrtus. Cy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:12:00