Menu
Coddy logo textTech

StringBuffer 소개

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 45번째.

StringBuffer는 StringBuilder와 유사하지만 스레드 안전(thread-safe)입니다(동시에 여러 작업에 안전합니다). 가변(수정 가능한) 문자열을 생성하는 데 사용됩니다.

초기 텍스트로 StringBuffer 생성:

StringBuffer sb = new StringBuffer("Hello");

append()를 사용하여 더 많은 텍스트 추가:

sb.append(" World");

위의 코드를 실행한 후, sb에는 다음이 포함됩니다:

Hello World

insert()와 replace()를 사용하여 텍스트 수정:

StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi ");       // 시작에 추가
sb.replace(0, 2, "Hey");   // "Hi"를 "Hey"로 교체

위의 코드를 실행한 후, sb에는 다음이 포함됩니다:

Hey Java

challenge icon

챌린지

쉬움

modifyText라는 이름의 메서드를 생성하세요. 이 메서드는 세 개의 인수를 받습니다:

  1. 수정할 String (text)
  2. 찾을 String (target)
  3. target을 대체할 String (replacement)

이 메서드는 다음을 수행해야 합니다:

  1. 입력 텍스트로 StringBuffer를 생성하세요
  2. target의 첫 번째 발생을 replacement로 대체하세요
  3. 끝에 느낌표를 추가하세요
  4. 최종 문자열을 반환하세요

반환 메시지는 다음과 같아야 합니다:

  • 입력 중 하나라도 null인 경우: return "Invalid input"
  • target을 찾지 못한 경우: 원본 텍스트에 느낌표를 붙인 것을 반환하세요
  • 성공적인 작업의 경우: 수정된 텍스트를 반환하세요

치트 시트

StringBuffer는 스레드 안전하며 가변 문자열을 생성하는 데 사용됩니다.

초기 텍스트로 StringBuffer를 생성하세요:

StringBuffer sb = new StringBuffer("Hello");

append()를 사용하여 텍스트를 추가하세요:

sb.append(" World");

특정 위치에 텍스트를 삽입하세요:

sb.insert(0, "Hi ");  // 시작 부분에 추가합니다

replace()를 사용하여 텍스트를 교체하세요:

sb.replace(0, 2, "Hey");  // 인덱스 0부터 2까지의 문자를 교체합니다

직접 해보기

import java.util.Scanner;

public class Main {
    public static String modifyText(String text, String target, String replacement) {
        // 여기에 코드를 작성하세요
    }
    
    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 icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨