alle so schreibe ich einen Code, der "aabbcc" nehmen und "abc" ausgeben sollte, so dass die wiederholten Zeichen durch Rekursion löschen. Hoffe, du könntest mir helfen.String-Index außerhalb des Bereichs Fehler in 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));
}
}
Und wenn ich meinen Code ausführen bekomme ich diesen Fehler:
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)
Nun, was ist, wenn Sie getroffen 'if (i.charAt (0) == i.charAt (1))' und die Zeichenfolge ist nur ein Zeichen lange? –
@ T.J.Crowder Immer noch der gleiche Fehler – Massoud
@MaxZoom also was genau bedeutet das? – Massoud