如何终止Kotlin无限循环程序并输出计算结果(IntelliJ环境)
Kotlin无限循环终止与数字求和程序优化
一、IntelliJ中终止程序的快捷键
- Windows/Linux:
Ctrl + F2 - Mac:
Cmd + F2
也可以直接点击Run工具栏中的红色停止按钮来终止运行中的程序。
二、修改代码避免无限循环,正常输出结果
你的程序因为while(1<2)这个永真条件陷入无限循环,永远执行不到最后的println语句。可以通过设定终止条件让程序主动结束循环,比如当输入空行(直接回车)时停止读取输入:
修改后的代码如下:
fun main() { fun strToSum(str: String): Long { var sum: Long = 0 var next = "" for (symbol in str + " ") { if (symbol == '-') { if (next != "-" && next != "") { sum += next.toLong() } next = symbol.toString() } else if (symbol.isDigit()) { next += symbol } else if (next != "") { if (next != "-") { sum += next.toLong() } next = "" } } return sum } var string: String = "" // 当输入空行或读取失败时终止循环 while (true) { val str = readLine() if (str.isNullOrEmpty()) { break } string += " " + str } println(strToSum(string)) }
代码改动说明:
- 将
while(1<2)改为while(true),逻辑表达更清晰 - 移除
readLine()!!的非空断言,改为判断str.isNullOrEmpty(),避免空指针异常 - 当用户直接回车(输入空字符串)时,执行
break跳出循环,程序继续执行求和与输出步骤 - 函数名
StrToSum改为strToSum,符合Kotlin驼峰命名规范
内容的提问来源于stack exchange,提问作者Sudar Kudr
相关产品推荐
相关产品推荐

