Menu
CoddyTech

Pengenalan StringBuffer

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 45 dari 59.

StringBuffer mirip dengan StringBuilder, tetapi aman digunakan oleh beberapa thread secara bersamaan. StringBuffer digunakan untuk membuat string yang dapat diubah.

Buat StringBuffer dengan teks awal:

StringBuffer sb = new StringBuffer("Hello");

Tambahkan lebih banyak teks menggunakan append():

sb.append(" World");

Setelah menjalankan kode di atas, sb berisi:

Hello World

Ubah teks menggunakan insert() dan replace():

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // menambahkan di awal
sb.replace(0, 2, "Hey");   // mengganti "Hi" dengan "Hey"

Setelah menjalankan kode di atas, sb berisi:

Hey Java

Untuk menemukan posisi awal suatu teks, gunakan indexOf(). Fungsi ini mengembalikan posisi kecocokan pertama, atau -1 jika teks tersebut tidak ada:

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

Tantangan

Mudah

Buat method bernama modifyText yang menerima tiga argumen:

  1. String (text) yang akan diubah
  2. String (target) yang akan dicari
  3. String (replacement) untuk menggantikan target

Method tersebut harus:

  1. Membuat StringBuffer dengan input
  2. Mengganti kemunculan pertama target dengan replacement
  3. Menambahkan tanda seru di akhir
  4. Mengembalikan string akhir

Pesan yang dikembalikan harus:

  • Jika ada input yang bernilai null: kembalikan "Invalid input"
  • Jika target tidak ditemukan: kembalikan teks asli dengan tanda seru
  • Jika operasi berhasil: kembalikan teks yang telah diubah

Coba sendiri

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Tulis kodemu di sini
    }
    
    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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online