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

如何实现输入0或小于/大于0.001时终止程序?

修改while循环实现两种终止逻辑

原代码通过while ((value = input.nextDouble()) != 0)实现输入0时终止循环,以下是针对两种需求的修改方案:

一、输入值为0或大于0.001时终止程序

循环继续的条件是输入值既不是0,也不大于0.001(即输入值处于(0, 0.001]区间),满足时执行循环逻辑,否则终止。修改后的代码:

while ((value = input.nextDouble()) != 0 && value <= 0.001) {
    // 循环体内的业务逻辑
}
// 终止后执行的打印语句

也可以通过逻辑非直接表达终止条件的否定,效果完全一致:

while (!((value = input.nextDouble()) == 0 || value > 0.001)) {
    // 循环体内的业务逻辑
}

二、输入值为0或小于0.001时终止程序

循环继续的条件是输入值既不是0,也不小于0.001(即输入值处于[0.001, +∞)区间),满足时执行循环逻辑,否则终止。修改后的代码:

while ((value = input.nextDouble()) != 0 && value >= 0.001) {
    // 循环体内的业务逻辑
}

同样可用逻辑非写法:

while (!((value = input.nextDouble()) == 0 || value < 0.001)) {
    // 循环体内的业务逻辑
}

注意事项

浮点数比较建议避免直接使用==或!=,如果场景对精度敏感,可改用差值判断(比如Math.abs(value - 0) < 1e-9);若业务允许直接判断输入的0值,上述代码可直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:11:50