Meine Aufgabe besteht darin, eine Zeichenfolge umzukehren und die umgekehrte Zeichenfolge zu drucken.String Index OutOfBoundsException?
Hier ist mein Code
import java.util.*;
import java.io.*;
public class reverse1
{
public static void reverse(String x) throws IllegalCharacterException
{
char j;
int max;
String reversedString = " ";
for(int i = 0; i < x.length() - 1; i++)
{
max = x.length();
j = x.charAt(i);
j = reversedString.charAt(max);
i--;
}//end for loop
}//end method
public static void main(String[] args) throws IllegalCharacterException
{
Scanner keyboard = new Scanner(System.in);
String s;
System.out.println("Please enter a string");
s = keyboard.next();
reverse(s);
}//end main
}//end class
Ich erhalte diese Fehlermeldung:
java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(Unknown Source)
at reverse1.reverse(reverse1.java:14)
at reverse1.main(reverse1.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
ich die Zeilennummern erwähnt geprüft hatte, aber immer noch nicht verstehen, das Problem. Ich habe die x.length() zu x.length() - 1 geändert, weil ein Freund mir gesagt hat, dass ich das machen soll, aber ich bekomme immer den gleichen Fehler.
'reversedString.charAt (max);' ... Was haben Sie erwartet, dass das zurückkommt? –
Mögliches Duplikat von [Eine Zeichenkette in Java umkehren] (http://stackoverflow.com/questions/7569335/reverse-a-string-in-java) –
@ cricket_007: Warum duplizieren von "Eine Zeichenkette in Java umkehren"? Die Frage ist nicht, wie man eine Zeichenkette umkehrt. Es handelt sich um eine besondere Ausnahme. – yaccob