Hallo an alle java-freunde
habe die Aufgabe aus einem stringBuffer bestehend aus Vor- und Nachnamen die Vornamen herauszusuchen um sie dann in einen neuen Stringbuffer zu schreiben.
Die Auswahl der Buchstaben die gespeichert werden sollen wird so getroffen, indem das Programm, sobald ein Leerzeichen kommt, aufhört, die Buchstaben in den neuen StringBuffer zu speichern. Wenn dann ein Komma kommt wird wieder gespeichert, bis das nächste Leerzeichnen folgt.
Also wenn mein StringBuffer mit den Namen z. B. vorNach("Hans Werner,Peter Becker,Rolf Winter) lautet, muss der neue StringBuffer in diesem Beispiel namen("Hans Peter Rolf") lauten oder auch "Hans,Peter,Rolf" oder auch "HansPeterRolf" egal, Hauptsache es sind nur noch die Vornamen...
habe es mal versucht aber bin noch nicht zu einem richtigen Ansatz gekommen, glaub ich. Bei diesem Versuch hier ist das Problem, dass immer ein Fehler erscheint, dass der "String index out of range" sei und zwar -1 der fehler liegt dem Programm nach in der for-Schleife, habe aber schon alles mögliche hin und her probiert, und ich bekomme es nicht weg...
Hier mein Versuch:
ich weiß nicht wie ich es ändern muss damit es funktioniert. Natürlich kann es aber auch sein, dass ich total auf dem Holzweg bin und es ganz anders geht...
Kann jemand helfen??? Weiß nicht weiter
Gruß Aurora
habe die Aufgabe aus einem stringBuffer bestehend aus Vor- und Nachnamen die Vornamen herauszusuchen um sie dann in einen neuen Stringbuffer zu schreiben.
Die Auswahl der Buchstaben die gespeichert werden sollen wird so getroffen, indem das Programm, sobald ein Leerzeichen kommt, aufhört, die Buchstaben in den neuen StringBuffer zu speichern. Wenn dann ein Komma kommt wird wieder gespeichert, bis das nächste Leerzeichnen folgt.
Also wenn mein StringBuffer mit den Namen z. B. vorNach("Hans Werner,Peter Becker,Rolf Winter) lautet, muss der neue StringBuffer in diesem Beispiel namen("Hans Peter Rolf") lauten oder auch "Hans,Peter,Rolf" oder auch "HansPeterRolf" egal, Hauptsache es sind nur noch die Vornamen...
habe es mal versucht aber bin noch nicht zu einem richtigen Ansatz gekommen, glaub ich. Bei diesem Versuch hier ist das Problem, dass immer ein Fehler erscheint, dass der "String index out of range" sei und zwar -1 der fehler liegt dem Programm nach in der for-Schleife, habe aber schon alles mögliche hin und her probiert, und ich bekomme es nicht weg...
Hier mein Versuch:
Code:
public static void main (String[] args) {
char leer = ' ';
char komma = ',';
int buchstabe = 0;
int zeichen = 0;
StringBuffer vn = new StringBuffer ("Umberto Eco,Albert Camus,Friedrich Duerrenmatt");
StringBuffer namen = new StringBuffer (" ");
System.out.println(vn);
for(int a=0; a<=45; a++) {
namen.append(vn.substring(a, buchstabe));
if(vn.charAt(a)==leer) {
a = buchstabe;
}
else {
namen.append(vn.substring(a, buchstabe));
}
if(vn.charAt(a)==komma) {
namen.append(" ");
}
else if(vn.charAt(a)== komma) {
a = zeichen;
namen.append(vn.substring(a, zeichen));
}
}
ich weiß nicht wie ich es ändern muss damit es funktioniert. Natürlich kann es aber auch sein, dass ich total auf dem Holzweg bin und es ganz anders geht...
Kann jemand helfen??? Weiß nicht weiter
Gruß Aurora