【发布时间】:2021-11-28 19:44:58
【问题描述】:
我在 Kotlin 中的控制台应用程序有问题。该程序在同一行中读取两个变量。如果我没记错的话,这只能用 readLine()!!.split(" ") 来完成,问题是下一个。它需要2个输入。当仅提供一个输入时,由于未输入第二个变量,程序会因越界而崩溃。在任务中,程序必须以输入 /exit 退出。我不知道该怎么做。为第二个输入输入空格不是一个选项,因为测试不接受它。提前致谢。
按格式输入两个数字:{source base} {target base}(退出输入 /exit)> 36 10 输入以 36 为底的数字以转换为以 10 为底的数字(要返回输入/返回)> abcde 转换结果:17325410
按格式输入两个数字:{source base} {target base}(退出输入 /exit)> /exit
【问题讨论】:
-
据我了解,split() 不会崩溃,当您访问结果[1] 时会崩溃。为什么不检查 result[0] 是否为 '/exit',如果是,甚至不访问 result[1]?
-
如何验证您的输入,例如
split的结果是否确实有两个元素? -
按格式输入两个数字: {source base} {target base} (退出输入/exit) > /exit 然后程序退出。当输入 2 个输入时,程序继续如下: 输入两个数字,格式为:{source base} {target base}(退出类型 /exit)> 36 10 输入 base 36 中的数字以转换为 base 10(返回类型/back) > abcde 转换结果:17325410