线程“main”中的错误异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1

时间:2014-05-02 18:33:37

标签: java exception main

我在尝试反转字符串

时遇到StringIndexOutOfBoundsException

我正在使用eclipse,例外是

  

线程中的异常" main" java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1
  在java.lang.String.charAt(UnknownSource)
  在Abdo.Abdo.reverseRec(Abdo.java:13)   在Abdo.Abdo.reverseRec(Abdo.java:15)
  在Abdo.Abdo.reverseRec(Abdo.java:15)   在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));
}

1 个答案:

答案 0 :(得分:2)

max也许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);
    }
}