Hallo, habe ein kleines Problem. Wenn ich die Methode einzeln teste klappts, aber wenn ich mehrere sachen in die main schreibe bekomme ich das falsche Ergebnis.
Kurze Erläuterung: Der Methode wird ein String s übergeben der zum einen die Wörter zählen soll die s entesprechen, und bei ("") alle Wörter zählen soll.
Kurze Erklärung was falsch ist wäre hilfreich. (PS: Eingabeende (EOF) Ctrl + d (UNIX) und sonst glaub ich Ctrl + z bei Ms-Dos.
Java:
public class Eingabe {
public static int anzahlString(String s) {
Scanner sc = new Scanner(System.in);
int counter = 0;
while (sc.hasNext()) {
if (sc.next().equals(s) | s.equals("")) { // ist hier was falsch?
counter++;
}
}
sc.close();
return counter;
}
public static void main(String[] args) {
System.out.println(Eingabe.anzahlString(""));
System.out.println(Eingabe.anzahlString("Fliegen"));
// Einzeln funktioniert es, aber beide zusammen nicht.
//Beispiel Eingabe war "Wenn vor Fliegen Fliegen fliegen, fliegen Fliegen Fliegen nach."
// Ausgabe ist : 9 und dann 0. Sollte aber 9 und 4 sein.
}
}
Kurze Erläuterung: Der Methode wird ein String s übergeben der zum einen die Wörter zählen soll die s entesprechen, und bei ("") alle Wörter zählen soll.
Kurze Erklärung was falsch ist wäre hilfreich. (PS: Eingabeende (EOF) Ctrl + d (UNIX) und sonst glaub ich Ctrl + z bei Ms-Dos.