Hallo zusammen,
ich soll in einer Aufgabe die Anzahl der Wörter in einem String zählen und habe hierfür hauptsächlich die String Methoden zur Verfügung. Theoretisch sind auch noch Wrapperklassen und StringBuilder verfügbar, aber ich glaube die bringen bei der Aufgabe keinen Vorteil.
Meine Idee war mich an den Leerzeichen zu orientieren, doch irgendwie liegt da glaube ich das Problem. Ich bekomme als Ausgabe immer 1, also wird die Schleife 1 mal durchlaufen und direkt wieder verlassen.
Ich würde mich sehr freuen, wenn mir jemand erklären kann wieso oder eine alternative hat, wie gesagt die split() bzw. die herkömmliche Art und Weise ist hier nicht gefragt.
ich soll in einer Aufgabe die Anzahl der Wörter in einem String zählen und habe hierfür hauptsächlich die String Methoden zur Verfügung. Theoretisch sind auch noch Wrapperklassen und StringBuilder verfügbar, aber ich glaube die bringen bei der Aufgabe keinen Vorteil.
Meine Idee war mich an den Leerzeichen zu orientieren, doch irgendwie liegt da glaube ich das Problem. Ich bekomme als Ausgabe immer 1, also wird die Schleife 1 mal durchlaufen und direkt wieder verlassen.
Ich würde mich sehr freuen, wenn mir jemand erklären kann wieso oder eine alternative hat, wie gesagt die split() bzw. die herkömmliche Art und Weise ist hier nicht gefragt.
Java:
import java.util.Scanner;
public class KA_wordCount {
public static int wordCountKA(String satz) {
int fromIndex = 0;
int index = 0;
int summe = 0;
while (index != -1) {
index = satz.indexOf(" ", fromIndex);
fromIndex = index;
summe += 1;
}
return summe;
}
public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
System.out.println("Satz eingeben: ");
String satzE = eingabe.next();
System.out.println("Der Satz hat " + wordCountKA(satzE) + " Wort/Woerter.");
}
}