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"); // -1Aufgabe
EinfachErstelle eine Methode namens modifyText, die drei Argumente entgegennimmt:
- Einen String (
text), der geändert werden soll - Einen String (
target), nach dem gesucht werden soll - Einen String (
replacement), durch den target ersetzt werden soll
Die Methode soll:
- Einen StringBuffer mit dem Eingabetext erstellen
- Das erste Vorkommen von target durch replacement ersetzen
- Am Ende ein Ausrufezeichen hinzufügen
- 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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap5HashSet Teil 2
Mathematik - Vereinigung von HashSetsMathematik - Schnittmenge von HashSetsMathematik - Mengen-DifferenzMathematik - Symmetrische DifferenzUnter- und ObermengenIterieren über Mengen8Fortgeschrittene String-Operationen
StringBuilder-GrundlagenStringBuffer-EinführungGrundlagen regulärer AusdrückeMusterabgleich mit RegexString-TokenizerFortgeschrittene String-Formatierung3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitungÜbe selbstständig: Online-Java-Compiler