java - 线程 "main"java.lang.StringIndexOutOfBoundsException : String index out of range: -1 中的错误异常

标签 java exception program-entry-point

我在尝试反转字符串时遇到 StringIndexOutOfBoundsException

我使用的是eclipse,异常(exception)的是

Exception in thread "main" java.lang.StringIndexOutOfBoundsException:String index out of range: -1
at java.lang.String.charAt(UnknownSource)
at Abdo.Abdo.reverseRec(Abdo.java:13) at Abdo.Abdo.reverseRec(Abdo.java:15)
at Abdo.Abdo.reverseRec(Abdo.java:15) at Abdo.Abdo.main(Abdo.java:24)

这是我的代码:

public static String reverseRec (String s){
    int max=s.length()-1;
    String newstring ="";
    if(s==null)
        return "";
    else{
        newstring+=s.charAt(max);
        s=s.substring(1,max);
        return newstring + reverseRec(s);
    }
}
public static void main (String[]args){
    Scanner sc=new Scanner(System.in);
    System.out.println("Enter string");
    String s=sc.next();
    System.out.println(reverseRec(s));
}

最佳答案

最大可能是0
这是代码

public static String reverseRec (String s){
    String newstring ="";
    if(s==null || s.isEmpty())
        return "";
    else{
        int max=s.length()-1;
        newstring+=s.charAt(max);
        s=s.substring(0,max);
        return newstring + reverseRec(s);
    }
}

关于java - 线程 "main"java.lang.StringIndexOutOfBoundsException : String index out of range: -1 中的错误异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434733/

相关文章:

java - 从另一个 Lambda 函数异步启动 AWS java Lambda 函数

java - 在 Java 中使用 Selenium Webdriver 获取格式化文本

java - 无法执行 jar 文件 : "no main manifest attribute"

c++ - 从 main 访问私有(private)字段和函数

c++ - C++中main()函数调用自身,会发生什么?

java - @Retry FallbackMethod 未注册

java - 创建表时 jdbc derby 语法错误

Android Kotlin : Getting a FileNotFoundException with filename chosen from file picker?

LINQ 抛出查询嵌套太深异常

java - JUnit:测试某种类型的异常