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
챌린지
쉬움세 개의 인자를 받는 modifyText라는 이름의 메서드를 생성하세요:
- 수정할 String (
text) - 찾을 String (
target) - target을 대체할 String (
replacement)
메서드는 다음을 수행해야 합니다:
- 입력 텍스트로 StringBuffer를 생성합니다
- target이 처음 나타나는 부분을 replacement로 바꿉니다
- 마지막에 느낌표를 추가합니다
- 최종 문자열을 반환합니다
반환 메시지는 다음과 같아야 합니다:
- 입력값 중 하나라도 null인 경우: "Invalid input"을 반환합니다
- target을 찾지 못한 경우: 원래 텍스트에 느낌표를 추가하여 반환합니다
- 작업이 성공한 경우: 수정된 텍스트를 반환합니다
직접 해보기
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));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.