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ştirirYukarıdaki kodu çalıştırdıktan sonra, sb içerir:
Hey Java
Görev
KolayÜç argüman alan modifyText adında bir metot oluşturun:
- Değiştirilecek bir String (
text) - Bulunacak bir String (
target) - Hedefi değiştirmek için bir String (
replacement)
Metot şu işlemleri yapmalı:
- Giriş metniyle bir StringBuffer oluşturun
- Hedefin ilk görünümünü replacement ile değiştirin
- Sona bir ünlem işareti ekleyin
- 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 eklerreplace() kullanarak metni değiştirin:
sb.replace(0, 2, "Hey"); // 0. indeksten 2'ye kadar karakterleri değiştirirKendin 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));
}
}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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap5HashSet Kısım 2
Matematik - HashSet'lerin BirliğiMatematik - HashSet KesişimiMatematik - Küme FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerKümeler Üzerinde Yineleme8Gelişmiş Dize İşlemleri
StringBuilder TemelleriStringBuffer'e GirişDüzenli İfadeler TemelleriRegex ile Desen EşleştirmeDize AyrıştırıcısıGelişmiş Dize Biçimlendirme3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme