You need to enable JavaScript to run this app. Java if-else逻辑异常 输入1-100范围外数值仍输出Excelent
优惠活动
大模型
产品
解决方案
定价
更多

Java if-else逻辑异常 输入1-100范围外数值仍输出Excelent

代码问题排查与修正

问题定位

  • 若运行时无论输入什么都输出Excelent!,优先检查判断条件的逻辑运算符:如果误将&&写为||,会导致任意整数都满足「大于0 或 小于100」的条件,if分支永远为真,不会触发else的违规提示。
  • 当前判断条件为choosenNumber>0 && choosenNumber<100,对应开区间(0,100),和需求要求的**1-100闭区间(包含1和100)**不匹配:输入100时会被误判为违规,不符合预期。

修正后代码

import java.util.Scanner;
public class numberOfChoice{
    public static void main(String[] args) {
        int choosenNumber;
        Scanner input=new Scanner (System.in);
        System.out.println("Write your number in between 1 and 100");
        choosenNumber=input.nextInt();
        // 调整为闭区间判断,覆盖1到100的所有整数
        if (choosenNumber >= 1 && choosenNumber <= 100) {
            System.out.println("Excelent!");
        } else{
            System.out.println("You have broken the rule");
        }
    }
}

修正后效果

  • 输入1、99、100这类符合区间的数字,输出Excelent!
  • 输入0、-1、101这类区间外的数字,输出You have broken the rule

内容的提问来源于stack exchange,提问作者Sagi Rat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 22:57:03