Menu
CoddyTech

StringBuffer-Einführung

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

StringBuffer ähnelt StringBuilder, ist aber threadsicher (sicher bei mehreren gleichzeitigen Vorgängen). Es wird verwendet, um veränderbare (modifizierbare) Zeichenfolgen zu erstellen.

Erstelle einen StringBuffer mit folgendem Anfangstext:

StringBuffer sb = new StringBuffer("Hello");

Füge mit append() weiteren Text hinzu:

sb.append(" World");

Nach der Ausführung des obigen Codes enthält sb:

Hello World

Text mit insert() und replace() ändern:

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // fügt am Anfang hinzu
sb.replace(0, 2, "Hey");   // ersetzt "Hi" durch "Hey"

Nach der Ausführung des obigen Codes enthält sb:

Hey Java

Um herauszufinden, wo ein Text beginnt, verwende indexOf(). Die Methode gibt die Position des ersten Treffers zurück oder -1, wenn der Text nicht vorhanden ist:

StringBuffer sb = new StringBuffer("Hey Java");
int pos = sb.indexOf("Java");   // 4
int none = sb.indexOf("Python"); // -1
challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens modifyText, die drei Argumente entgegennimmt:

  1. Einen String (text), der geändert werden soll
  2. Einen String (target), nach dem gesucht werden soll
  3. Einen String (replacement), durch den target ersetzt werden soll

Die Methode soll:

  1. Einen StringBuffer mit dem Eingabetext erstellen
  2. Das erste Vorkommen von target durch replacement ersetzen
  3. Am Ende ein Ausrufezeichen hinzufügen
  4. Den endgültigen String zurückgeben

Die Rückgabenachrichten sollen lauten:

  • Wenn eine Eingabe null ist: "Invalid input" zurückgeben
  • Wenn target nicht gefunden wird: den Originaltext mit Ausrufezeichen zurückgeben
  • Bei erfolgreicher Ausführung: den geänderten Text zurückgeben

Probier es selbst

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Schreibe hier deinen Code
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String target = scanner.nextLine();
        String replacement = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (target.equals("null")) target = null;
        if (replacement.equals("null")) replacement = null;
        
        System.out.println(modifyText(text, target, replacement));
    }
}
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

Übe selbstständig: Online-Java-Compiler