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

为何我的年龄判断程序输入符合条件值时,同时输出if和else结果?

问题分析与解决:年龄判断程序同时输出两个结果

你的代码核心问题是没有把两个输出逻辑放在互斥的分支结构里,导致符合age>=18条件时,"Disqualified"的输出语句依然被执行。

典型错误场景

最常见的两种错误写法:

  1. 缩进/代码块范围错误(以Python为例):
age = int(input("Enter age: "))
if age >= 18:
    print("Qualified")
print("Disqualified")  # 此语句不在if分支内,会无条件执行
  1. 分支结构错误(以Java/C++为例,忘记用大括号包裹分支内容):
int age = 21;
if (age >= 18)
    System.out.println("Qualified");
    System.out.println("Disqualified");  // 不在if块中,必然执行

正确写法

使用if-else互斥分支,确保两个输出只会触发一个:

  • Python版本:
age = int(input("Enter age: "))
if age >= 18:
    print("Qualified")
else:
    print("Disqualified")
  • Java版本:
int age = Integer.parseInt(System.console().readLine());
if (age >= 18) {
    System.out.println("Qualified");
} else {
    System.out.println("Disqualified");
}

这样当age>=18为真时,仅执行if块内的输出,else分支不会被触发,就不会出现自相矛盾的输出了。

内容的提问来源于stack exchange,提问作者He-Man1350

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:52:42