大家所以我正在編寫一個代碼,應該採用「aabbcc」並輸出「abc」,以便使用遞歸來刪除重複的字符。希望你能幫助我。Java中的字符串索引超出範圍錯誤(字符串索引超出範圍異常)
import java.util.*;
public class StringReverser
{
public static String getReverser(String i)
{
if (i==(" "))
return "";
if (i.charAt(0)==i.charAt(1))
return i.substring(1) + getReverser(i.substring(2));
else
return getReverser(i.substring(1));
}
public static void main (String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter a String");
String in = sc.nextLine();
System.out.println(getReverser(in));
}
}
當我跑我的代碼我得到這個錯誤:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.String.charAt(String.java:646) at StringReverser.getReverser(StringReverser.java:9) at StringReverser.getReverser(StringReverser.java:12) at StringReverser.getReverser(StringReverser.java:10) at StringReverser.main(StringReverser.java:20)
好吧,如果你打什麼'如果(i.charAt(0)== i.charAt(1))'和字符串只有一個字符長? –
@ T.J.Crowder還是一樣的錯誤 – Massoud
@MaxZoom,那究竟是什麼意思? – Massoud