Java - Wörter in String zählen
Hallo Leute ;-)
Ich habe ein kleines Java Programm zu schreiben, mit dem ich Wörter in einem eingegebenen String zählen soll. Mein erster Versuch zählte einfach die Leerzeichen und addierte zum Schluss eins. Diese Methode geht aber davon aus, das ein komplett korrekter Satz eingegeben wird, und keine Doppelleerzeichen oder sonstiges vorkommen.
Jetzt hat mir ein Freund eine neue Möglichkeit gezeigt, die zwar funktioniert, ich sie aber nicht verstehe ;-D Es wäre cool wenn ihr mir das Schritt für Schritt erklären könntet was hier genau passiert.
package Bsp2;
import java.util.Scanner;
public class Bsp2
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("Bitte geben Sie einen Satz ein: ");
String Satz = sc.nextLine();
System.out.print("Die Anzahl der Wörter beträgt: " + zähler(Satz));
}
public static int zähler(String Satz) {
return Satz == null ? 0 : Satz.trim().split("\\s+").length;
}
}
Wenn ich jedoch einen leeren String eingebe gibt er mir "1" zurück. Also was heißt dieses "== null ? 0 :", was macht "Satz.trim().split().length", was bedeutet "\s+".
Ich danke im vorraus ;D
Glg SynapSis