Hey Leute ich hab ein Problem bei einer Übung zu Strings:
Angabe:
Es wird ein String eingelesen wie zb: Max Moritz Mustermann. Aus diesem String soll
die Anordung der Namen, wie im Folgenden aufgelistet, geändert werden:
Mustermann, Max M.
Ich habe folgendes Programm geschrieben, jedoch kommt immer wenn ich das Programm starten will, folgender Fehler:
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1958)
at Stringmanipulation.main(Stringmanipulation.java:20)
Kann mir bitte jemand helfen??
Danke
Angabe:
Es wird ein String eingelesen wie zb: Max Moritz Mustermann. Aus diesem String soll
die Anordung der Namen, wie im Folgenden aufgelistet, geändert werden:
Mustermann, Max M.
Ich habe folgendes Programm geschrieben, jedoch kommt immer wenn ich das Programm starten will, folgender Fehler:
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1958)
at Stringmanipulation.main(Stringmanipulation.java:20)
Java:
public static void main ()
{
char restart;
do {
Out.print ("Geben Sie einen Namen ein der für die Manipulation geeignet ist (zB. Max Moritz Mustermann): ");
String s = In.readString ();
int index = s.indexOf (" "); // Index des ersten Leerzeichens wird gespeichert
int index2 = s.lastIndexOf (" ",index); // Index des 2. Leereichens wird gespeichert
String vn = s.substring (1, index); // String des ersten Namens wird gespeichert - Bsp. Max -
String mn = s.substring (index, index2); // String des 2. Namens wird gespeichert - Bsp. Moritz -
String nn = s.substring (index2+1); // String des 3. Namens wird gespeichert - Bsp. Mustermann -
String name = (nn + "," + vn + mn); // Ausgabe
Out.print ("Möchten Sie noch einmal einen Namen generieren (j/n): ");
restart = In.readChar ();
} while (restart == 'j' || restart == 'J');
}
Kann mir bitte jemand helfen??
Danke