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

如何编写可识别字符串中指定长度重复前缀的程序?

前缀重复识别程序实现

核心逻辑很明确:先提取指定长度的前缀,再检查该前缀是否出现在原字符串去掉前缀后的剩余部分中,最后根据判断结果输出对应内容。

具体实现步骤

  • 提取长度为n的前缀:用substring(0, n)即可,先做合法性校验(比如n不能小于1,也不能大于原字符串长度的一半,否则剩余部分不可能容纳前缀)。
  • 获取剩余字符串:用substring(n)拿到原字符串去掉前缀后的部分。
  • 生成判断布尔值:用contains()方法检查剩余字符串是否包含前缀,结果存入布尔变量。
  • 通过if-else输出结果:根据布尔变量的值,输出对应的提示文本。

示例代码(Java)

public class PrefixChecker {
    public static void main(String[] args) {
        String inputStr = "coconut";
        int n = 2; // 可替换为3测试不同情况

        // 合法性校验,避免索引越界
        if (n <= 0 || n >= inputStr.length()) {
            System.out.println("输入的int值不合法,请输入1到" + (inputStr.length()-1) + "之间的数");
            return;
        }

        String prefix = inputStr.substring(0, n);
        String remainingStr = inputStr.substring(n);
        boolean isRepeated = remainingStr.contains(prefix);

        if (isRepeated) {
            System.out.println(prefix + " is a repeated prefix in " + inputStr);
        } else {
            System.out.println(prefix + " is NOT a repeated prefix in " + inputStr);
        }
    }
}

代码说明

  • 合法性校验:防止输入的n过大或过小导致substring方法报错,比如n等于原字符串长度时,substring(n)会直接抛出索引越界异常。
  • 布尔值isRepeated直接作为if判断条件,清晰对应"是否重复"的逻辑。
  • 测试n=2时,前缀"co"存在于剩余字符串"conut"中,输出重复提示;n=3时,前缀"coc"不在剩余字符串"onut"中,输出不重复提示。

内容的提问来源于stack exchange,提问作者Dαin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:40:35