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

在Kotlin中如何获取用户输入来创建列表?

问题原因
  • readLine() 函数的返回值为 String? 可空字符串类型,并不是列表类型,直接使用下标[1]访问仅会尝试读取字符串的第2个字符,无法获取列表元素
  • 未处理空安全场景:当用户未输入任何内容直接回车,或者读取输入出现异常时,readLine()会返回null,直接访问会触发空指针异常
解决步骤
  1. 先对读取到的输入做非空校验,避免空指针
  2. 根据你预设的输入分隔规则(比如空格、逗号分隔多个姓名),将字符串拆分为列表
  3. 访问列表元素前建议先判断列表长度,避免下标越界
可运行示例代码

假设要求用户输入时用空格分隔多个姓名,示例代码如下:

fun main(args: Array<String>) {
    print("请输入多个姓名,用空格分隔:")
    val input = readLine()
    // 非空判断+拆分字符串为列表,自动过滤连续空格
    val listOfNames = input?.trim()?.split("\\s+".toRegex()) ?: emptyList()
    // 先判断列表长度再访问元素,避免越界
    if (listOfNames.size >= 2) {
        print(listOfNames[1])
    } else {
        print("输入的姓名数量不足,无法获取第二个姓名")
    }
}

如果需要用逗号分隔多个姓名,把split的参数改成",",再自行处理每个姓名前后的空格即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:15:06