Hi Leute
Ich habe ein Problem mit meinen Java Programm. Wir müssen von der Schule ien Programm schreiben, wo wir eine Zeichenkette mitgeben und die dann umgekehrt ausgeben z.B.:hallo=ollah
Die Aufgabe soll rekursiv gelöst werden und da ergibt sich ein Problem mit der Länge des Wortes.
Programmcode:
Fehlermeldung:
--------------------Configuration: <Default>--------------------
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.StringBuffer.charAt(StringBuffer.java:162)
at Reverse.reverseRek(Reverse.java:23)
at Reverse.reverseRek(Reverse.java:24)
at Reverse.reverse(Reverse.java:15)
at Reverse.main(Reverse.java:9)
Process completed.
Ich habe ein Problem mit meinen Java Programm. Wir müssen von der Schule ien Programm schreiben, wo wir eine Zeichenkette mitgeben und die dann umgekehrt ausgeben z.B.:hallo=ollah
Die Aufgabe soll rekursiv gelöst werden und da ergibt sich ein Problem mit der Länge des Wortes.
Programmcode:
Code:
public class Reverse{
public static void main(String[] args){
System.out.println("Reverse von hallo lautet: " + reverse(new StringBuffer("hallo")));
System.out.println("Reverse von auto lautet: " + reverse(new StringBuffer("auto")));
System.out.println("Reverse von hund lautet: " + reverse(new StringBuffer("hund")));
}
public static StringBuffer reverse(StringBuffer s){
return reverseRek(s,s.length()-1);
}
public static StringBuffer reverseRek(StringBuffer sb,int r){
StringBuffer a=new StringBuffer("");
if(r==0||r==1){
return a;
}else{
char cr=sb.charAt(r);
return reverseRek(a=a.append(cr),r-1);
}
}
}
--------------------Configuration: <Default>--------------------
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.StringBuffer.charAt(StringBuffer.java:162)
at Reverse.reverseRek(Reverse.java:23)
at Reverse.reverseRek(Reverse.java:24)
at Reverse.reverse(Reverse.java:15)
at Reverse.main(Reverse.java:9)
Process completed.