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

如何在Kotlin中统计字符串字符数量?现有实现结果少1如何解决

问题原因
  • Kotlin中0 until x.length属于左闭右开区间,遍历的最大值为x.length - 1。以输入字符串James为例,其长度为5,遍历的i值依次为0、1、2、3、4,循环执行到最后时i的取值为4。
  • 代码在循环内每次覆盖TextView的文本内容,最终仅保留最后一次循环的i值,因此输出结果比实际字符数少1,且循环逻辑本身完全没有必要,属于冗余实现。
修正方案

直接调用String类的length属性获取字符总数即可,无需遍历,代码如下:

@SuppressLint("SetTextI18n")
private fun countName(x: String) {
    val textView: TextView = findViewById(R.id.result)
    textView.text = x.length.toString()
}

如果必须通过循环逻辑实现计数,可单独声明计数变量累加,参考代码:

@SuppressLint("SetTextI18n")
private fun countName(x: String) {
    val textView: TextView = findViewById(R.id.result)
    var count = 0
    for (i in 0 until x.length) {
        count += 1
    }
    textView.text = count.toString()
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:15:04