목차
- 리눅스 자바 개발 환경 구성 관련 예제 이전 포스팅
- 자바에서 사용자에게 문자열 입력받기 필요성
- 자바에서 사용자에게 문자열 입력 받기 예제(readLine)
- 입력받은 문자열중 특정 단어 치환 예제(replace)
- 결과 확인
리눅스 자바 개발 환경 구성 관련 예제 이전 포스팅
아직 리눅스 환경에서 자바 소스코드 컴파일하는 방법을 모르신다면 아래 링크의 이전 포스팅을 참고하여 자바 소스코드 컴파일 방법을 익혀주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바에서 사용자에게 문자열 입력받기 필요성
프로그래밍을 하다보면 외부로부터 즉, 사용자에게 입력을 받을 필요가 있습니다. 예를들어 어떠한 장문의 편지 글을 작성하였는데 잘못된 단어가 있다고 가정해봅니다. 이 단어가 100개 이상이 존재한다면 이를 하나 하나 바꾸는 것은 너무 비효율적이겠죠? 하지만 java 등 프로그래밍 언어를 통해 이러한 단어를 쉽게 치환할 수 있습니다. replace라는 메소드가 지원되기 때문이죠.
오늘은 위와 같은 사례를 가정하여 사용자에게 긴 문자열을 입력받았을 때 특정 단어들을 치환하는 예제를 알아보도록 하겠습니다.
자바에서 사용자에게 문자열 입력 받기 예제(readLine)
자 우선 아래는 java에서 사용자에게 문자열을 입력받는 예제입니다. InputStreamReader 클래스 초기화에 System.in 인자를 전달해주면 standard in 으로부터 입력을 받을 수 있습니다. 또한 이렇게 입력받은 값을 BufferedReader 클래스에 전달해주면 입력 받은 값에 접근이 가능합니다.
이렇게 입력이 들어오면 우리는 readLine이라는 하위 메소드를 통해 값을 꺼내올 수 있습니다. 자 이제 코드를 통해 알아보도록 하겠습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("Enter the original string: ");
String originalString = reader.readLine();
System.out.print("Enter the word to replace: ");
String wordToReplace = reader.readLine();
System.out.print("Enter the replacement word: ");
String replacementWord = reader.readLine();
System.out.println(originalString);
System.out.println(wordToReplace);
System.out.println(replacementWord);
} catch (IOException e) {
e.printStackTrace();
}
}
}
입력받은 문자열중 특정 단어 치환 예제(replace)
아래는 사용자에게 문자열을 입력받고 그중 특정 단어를 다른 단어로 치환하는 예제입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("Enter the original string: ");
String originalString = reader.readLine();
System.out.print("Enter the word to replace: ");
String wordToReplace = reader.readLine();
System.out.print("Enter the replacement word: ");
String replacementWord = reader.readLine();
// 문자열 내 특정 단어 치환
String modifiedString = originalString.replace(wordToReplace, replacementWord);
System.out.println("Modified string: " + modifiedString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
결과 확인
이처럼 자바에서 사용자에게 문자열을 입력받는 방법에 대해 알아보았습니다. 예제에서는 간단한 문자열을 치환하였지만 실제로는 더 장문을 치환한다면 효율적인 프로그램을 만들 수 있습니다.