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

如何编写统计字符串空格和句点的递归方法,现有代码错在哪里?

代码错误点

  • 基线条件设置错误:字符串长度不可能小于0,原有基线条件永远无法触发,递归执行到空字符串时调用charAt(0)会触发索引越界异常,正确基线条件应为s.length() == 0时返回0。
  • 非匹配字符的处理逻辑错误:当前首字符既不是空格也不是句点时,原有代码直接返回0,中断了递归流程,没有统计剩余子串中的符合要求字符,应当继续调用递归方法处理剩余子串。

修复后代码

public static int periodsAndSpaces(String s){ //option 3
    // 基线条件:空字符串无匹配字符,返回0
    if(s.length() == 0){
        return 0;
    }
    // 首字符匹配,计数+1后递归处理剩余子串
    else if(s.charAt(0) == ' ' || s.charAt(0) == '.'){
        return periodsAndSpaces(s.substring(1)) + 1;
    }
    // 首字符不匹配,直接递归处理剩余子串
    else {
        return periodsAndSpaces(s.substring(1));
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:09:04