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

为什么如下Java代码运行后无输出,无法打印Yes或No?

问题原因分析
  • 首先判断外层if的条件结果:你定义的y=0,因此y < 0的结果为false,&&逻辑与运算符只要有一个条件为false,整体运算结果就是false,所以外层if (x > 0 && y < 0)的条件不成立,其大括号包裹的所有代码都不会执行。
  • 打印Yes和No的逻辑完全写在了外层if的大括号内部,外层条件不满足时,内部的分支判断根本不会运行,自然不会有任何输出。
修正示例

如果你希望无论外层if是否成立,都执行Yes/No的输出判断,可以将输出逻辑移到外层if的大括号之外,参考代码如下:

public class Main {
  public static void main(String[] args) {
    int x=8, y=0, z=1; //random integers
    
    if (x > 0 && y < 0) {
      // 此处保留外层if需要执行的其他逻辑
    }

    // 输出逻辑移到外层if之外
    if (x==8)
      System.out.print("Yes");
    else if (z > 0)
      System.out.print("No");
  }
}

内容的提问来源于stack exchange,提问作者Mohammed Othman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:06