Menu
Coddy logo textTech

String-Tokenizer

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 48 von 59.

StringTokenizer wird verwendet, um einen String basierend auf einem Trennzeichen in Tokens (kleinere Teile) zu zerlegen. Standardmäßig verwendet es Leerzeichen als Trennzeichen.

Erstellen Sie einen StringTokenizer mit dem Standard-Trennzeichen (Leerzeichen):

StringTokenizer st = new StringTokenizer("Hello World Java");

Token zählen und abrufen:

int count = st.countTokens();
// Ruft die Anzahl der Token ab
String first = st.nextToken();
// Ruft den nächsten Token ab

Nach der Ausführung des obigen Codes enthalten die Variablen:

count: 3
first: "Hello"

Wichtig: Tokens werden verbraucht!

Wenn Sie nextToken() aufrufen, wird dieses Token aus dem Tokenizer entfernt. Die Methode countTokens() gibt die Anzahl der verbleibenden Token zurück.

StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens());  // Gibt aus: 3

st.nextToken();  // Konsumiert "Hello"
System.out.println(st.countTokens());  // Gibt aus: 2 (nicht 3!)

st.nextToken();  // Konsumiert "World"
System.out.println(st.countTokens());  // Gibt aus: 1

Tipp: Wenn Sie die Gesamtzahl der Token wissen müssen, rufen Sie countTokens() auf, bevor Sie Token verbrauchen. Verwenden Sie hasMoreTokens(), um zu prüfen, ob während der Iteration weitere Token verfügbar sind.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens tokenizeText, die zwei Argumente entgegennimmt:

  1. Einen String (text), der tokenisiert werden soll
  2. Einen String (delimiter), nach dem getrennt werden soll

Die Methode sollte:

  1. Einen StringTokenizer mit dem angegebenen Text und Trennzeichen erstellen
  2. Einen String zurückgeben, der die Anzahl der Token enthält, gefolgt von jedem Token in einer neuen Zeile

Die Rückgabenachrichten sollten wie folgt lauten:

  • Wenn text null ist: geben Sie "Invalid text" zurück
  • Wenn delimiter null ist: verwenden Sie ein Leerzeichen als Trennzeichen
  • Format: "Token count: X\nToken: token1\nToken: token2\n..."

Probier es selbst

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static String tokenizeText(String text, String delimiter) {
        // Schreibe deinen Code hier
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String delimiter = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (delimiter.equals("null")) delimiter = null;
        
        System.out.println(tokenizeText(text, delimiter));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf