Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 문자열의 공백을 특정 문자로 바꾸는 프로그램 만들기

이 글에서는 자바(Java)를 사용하여 문자열 내의 모든 공백을 특정 문자로 바꾸는 방법을 알아보겠습니다.

여기서 문자열(String)이란 하나 이상의 문자로 구성되어 있으며, 큰따옴표(" ")로 감싸서 표현하는 데이터 타입을 의미합니다. 자바의 String 클래스가 제공하는 replace() 메서드를 활용하면 아주 간단하게 처리할 수 있습니다.

문제 정의

먼저 예시를 통해 문제를 살펴보겠습니다.

입력값:

입력 문자열: Java Program is fun to learn
입력 문자: $

원하는 출력 결과:

공백을 지정한 문자로 바꾼 문자열:
Java$Program$is$fun$to$learn

알고리즘

전체 처리 과정은 다음과 같습니다.

Step 1 - 시작
Step 2 - 문자열 변수(input_string)와 문자형 변수(input_character)를 선언한다.
Step 3 - 변수에 값을 할당한다.
Step 4 - replace() 함수를 사용하여 공백(' ')을 지정한 문자로 대체한다.
Step 5 - 결과를 화면에 출력한다.
Step 6 - 종료

참고로 자바에서 문자열은 불변(immutable) 객체이기 때문에, replace() 메서드는 원본 문자열을 변경하지 않고 새로운 문자열을 반환합니다. 따라서 반환값을 반드시 변수에 다시 저장해야 합니다.

예제 1: main 메서드에서 직접 처리하기

첫 번째 방법은 모든 연산을 main 메서드 안에서 한 번에 처리하는 방식입니다.

public class Demo {
    public static void main(String[] args) {
        String input_string = "Java Program is fun to learn";
        System.out.println("정의된 문자열: " + input_string);
        char input_character = '$';
        System.out.println("정의된 문자: " + input_character);
        input_string = input_string.replace(' ', input_character);
        System.out.println("공백을 지정한 문자로 바꾼 문자열:");
        System.out.println(input_string);
    }
}

실행 결과:

정의된 문자열: Java Program is fun to learn
정의된 문자: $
공백을 지정한 문자로 바꾼 문자열:
Java$Program$is$fun$to$learn

예제 2: 별도의 메서드로 분리하기 (객체지향 방식)

두 번째 방법은 공백 치환 로직을 별도의 메서드로 캡슐화하여 객체지향 프로그래밍 스타일을 적용한 방식입니다. 코드의 재사용성과 가독성이 향상된다는 장점이 있습니다.

public class Demo {
    static void space_replace(String input_string, char input_character){
        input_string = input_string.replace(' ', input_character);
        System.out.println("공백을 지정한 문자로 바꾼 문자열:");
        System.out.println(input_string);
    }
    public static void main(String[] args) {
        String input_string = "Java Program is fun to learn";
        System.out.println("정의된 문자열: " + input_string);
        char input_character = '$';
        System.out.println("정의된 문자: " + input_character);
        space_replace(input_string, input_character);
    }
}

실행 결과:

정의된 문자열: Java Program is fun to learn
정의된 문자: $
공백을 지정한 문자로 바꾼 문자열:
Java$Program$is$fun$to$learn

마무리

이처럼 자바에서는 replace() 메서드 하나만으로 문자열의 공백을 원하는 문자로 손쉽게 치환할 수 있습니다. 단순히 main 메서드에서 처리할 수도 있고, 기능별로 메서드를 분리하여 더 깔끔하고 유지보수하기 좋은 구조로 작성할 수도 있습니다. 상황에 맞게 두 가지 방식을 활용해 보시기 바랍니다.