자바에서 문자열을 다루는 것은 매우 흔한 작업입니다. 이 글에서는 두 가지 기본적인 문자열 조작 기법인 배열을 특정 형식의 문자열로 변환하는 방법과 문자열을 역순으로 뒤집는 방법을 예제 코드를 통해 설명합니다.
1. 배열 내용을 형식화된 문자열로 변환
정수형 배열의 원소들을 특정 형식의 문자열로 변환하는 방법을 살펴봅니다. 예를 들어, int[] numbers = {1, 2, 3}; 배열을 [1, 2, 3] 형태의 문자열로 만드는 예제입니다. 자바에서 반복적인 문자열 연결 작업에는 StringBuilder를 사용하는 것이 + 연산자를 직접 사용하는 것보다 효율적입니다.
public class ArrayToStringConverter {
public static void main(String[] args) {
int[] dataArray = {10, 20, 30, 40, 50};
String formattedOutput = formatArrayToString(dataArray);
System.out.println("형식화된 배열 문자열: " + formattedOutput); // 출력: 형식화된 배열 문자열: [10, 20, 30, 40, 50]
int[] emptyArray = {};
System.out.println("빈 배열 문자열: " + formatArrayToString(emptyArray)); // 출력: 빈 배열 문자열: []
int[] singleElementArray = {99};
System.out.println("단일 요소 배열 문자열: " + formatArrayToString(singleElementArray)); // 출력: 단일 요소 배열 문자열: [99]
}
/**
* 정수 배열의 내용을 "[요소1, 요소2, ...]" 형식의 문자열로 변환합니다.
*
* @param numbers 변환할 정수 배열
* @return 형식화된 문자열
*/
public static String formatArrayToString(int[] numbers) {
if (numbers == null) {
return "[]"; // null 배열 처리
}
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.append("[");
for (int i = 0; i < numbers.length; i++) {
resultBuilder.append(numbers[i]);
if (i < numbers.length - 1) {
resultBuilder.append(", "); // 마지막 요소가 아니면 쉼표와 공백 추가
}
}
resultBuilder.append("]");
return resultBuilder.toString();
}
}
2. 문자열 뒤집기
주어진 문자열을 뒤집는 기능을 구현하는 예제입니다. 사용자로부터 문자열을 입력받아 그 순서를 거꾸로 만든 결과를 콘솔에 출력합니다. 예를 들어 'hello'를 입력하면 'olleh'가 출력됩니다. 자바의 StringBuilder 클래스는 문자열을 효율적으로 조작할 수 있는 다양한 메서드를 제공하며, 그중 reverse() 메서드를 사용하면 간단하게 문자열을 뒤집을 수 있습니다.
import java.util.Scanner;
public class StringReverser {
public static void main(String[] args) {
Scanner consoleInput = new Scanner(System.in);
System.out.print("뒤집을 문자열을 입력하세요: ");
String originalString = consoleInput.nextLine(); // 공백 포함 문자열 입력을 위해 nextLine 사용
String reversedResult = reverseString(originalString);
System.out.println("원본 문자열: " + originalString);
System.out.println("뒤집힌 문자열: " + reversedResult);
consoleInput.close();
}
/**
* 입력된 문자열을 뒤집어 반환합니다.
*
* @param inputString 뒤집을 원본 문자열
* @return 뒤집힌 문자열
*/
public static String reverseString(String inputString) {
if (inputString == null || inputString.isEmpty()) {
return inputString; // null 또는 빈 문자열은 그대로 반환
}
// StringBuilder를 사용하여 문자열을 뒤집는 가장 간결하고 효율적인 방법입니다.
return new StringBuilder(inputString).reverse().toString();
}
}