Menu
Coddy logo textTech

StringBuffer'e Giriş

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 45 / 59.

StringBuffer, StringBuilder'a benzer ancak thread-safe'dir (aynı anda birden fazla işlem için güvenli). Değiştirilebilir (değiştirilebilir) dizgiler oluşturmak için kullanılır.

Başlangıç metni ile bir StringBuffer oluşturun:

StringBuffer sb = new StringBuffer("Hello");

append() kullanarak daha fazla metin ekleyin:

sb.append(" World");

Yukarıdaki kodu çalıştırdıktan sonra, sb içerir:

Hello World

insert() ve replace() kullanarak metni değiştirin:

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // başa ekler
sb.replace(0, 2, "Hey");   // "Hi"yi "Hey" ile değiştirir

Yukarıdaki kodu çalıştırdıktan sonra, sb içerir:

Hey Java

challenge icon

Görev

Kolay

Üç argüman alan modifyText adında bir metot oluşturun:

  1. Değiştirilecek bir String (text)
  2. Bulunacak bir String (target)
  3. Hedefi değiştirmek için bir String (replacement)

Metot şu işlemleri yapmalı:

  1. Giriş metniyle bir StringBuffer oluşturun
  2. Hedefin ilk görünümünü replacement ile değiştirin
  3. Sona bir ünlem işareti ekleyin
  4. Son string'i döndürün

Dönüş mesajları şu şekilde olmalı:

  • Herhangi bir giriş null ise: return "Invalid input"
  • Hedef bulunamazsa: orijinal metni ünlem işaretiyle döndürün
  • Başarılı işlem için: değiştirilmiş metni döndürün

Kopya kağıdı

StringBuffer thread-safe'dir ve değiştirilebilir dizeler oluşturmak için kullanılır.

Başlangıç metniyle bir StringBuffer oluşturun:

StringBuffer sb = new StringBuffer("Hello");

append() kullanarak metin ekleyin:

sb.append(" World");

Belirli bir konuma metin ekleyin:

sb.insert(0, "Hi ");  // başlangıçta ekler

replace() kullanarak metni değiştirin:

sb.replace(0, 2, "Hey");  // 0. indeksten 2'ye kadar karakterleri değiştirir

Kendin dene

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // Buraya kodunuzu yazın
    }
    
    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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler