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

如何在Kotlin中实现仅3个输入有且仅有1个正数时输出true

问题分析
  • 你当前使用的代码通过逻辑或||实现的是三个整数中只要存在至少1个符合>=1的判定就返回true,和需求要求的「有且仅有1个为正数」逻辑不符。
代码调整方案

推荐使用统计符合要求的数值数量的方案实现,逻辑简洁易维护:

fun main() {
   val num1 = readLine()!!.toInt()
   val num2 = readLine()!!.toInt()
   val num3 = readLine()!!.toInt()
   
   // 统计三个数中正数的数量,判断是否恰好为1
   val positiveCount = listOf(num1, num2, num3).count { it > 0 }
   println(positiveCount == 1)
}

如果不想使用集合操作,也可以直接枚举所有仅单个数为正的场景:

fun main() {
   val num1 = readLine()!!.toInt()
   val num2 = readLine()!!.toInt()
   val num3 = readLine()!!.toInt()
   
   val result = (num1 > 0 && num2 <= 0 && num3 <= 0) ||
                (num2 > 0 && num1 <= 0 && num3 <= 0) ||
                (num3 > 0 && num1 <= 0 && num2 <= 0)
   println(result)
}
补充说明
  • 常规正数判定标准为> 0,如果你需要沿用原有代码的>=1作为正数判定条件,将上述代码中的判断条件替换为it >= 1、<=0替换为<1即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:24:02