有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Search()StringIndexOutOfBoundsException

在一个问题中,我被要求创建一个名为search的静态递归方法,该方法搜索字符串中的一个字符,如果找到它,则打印它的位置,如果没有,则返回-1

这是我的密码

public static int search(String s , char c)
{
    boolean flag = true;
    if (flag == false && s.length() == 0)
        return -(s.length() + 1);
    else
        if (s.charAt(0) == c)
        {
            return 1;
        }
        else
        {
            flag = false;
            return 1 + search(s.substring(1) , c);
        }

我用一个旗子来看看它在穿过所有的绳子后是否没有找到它,它将预成型所有的绳子长度减去绳子的长度-1, 但我最终总是会出现“StringIndexOutOfBoundsException”错误。那个错误到底在哪里?提前谢谢!:D

编辑:如果我输入一个字符串中存在的字符,比如ninanimal,它会工作,但是如果我输入o,字符串是animal,它会给我错误

编辑2:我通过移除标志并遍历最后一个字符中的字符串来实现,谢谢大家!:D


共 (0) 个答案