어제 오늘 내일

[Java] 문자열 거꾸로 뒤집기 본문

IT/Java

[Java] 문자열 거꾸로 뒤집기

hi.anna 2021. 4. 30. 06:29

 

문자열을 거꾸로 뒤집는 방법 2가지를 소개합니다.

  1. 반복문 사용하기
  2. StringBuffer / reverse() 메소드 사용하기

 

1. 반복문 사용하기

  코드  

public class StringReverse {
    public static void main(String[] args) {
        
        // 문자열
        String str = "ABCDE";
        
        // 문자열 reverse
        String reverse = "";
        for (int i = str.length() - 1; i >= 0; i--) {
            reverse = reverse + str.charAt(i);
        }
        
        // 결과 출력
        System.out.println(reverse); // "EDCBA"

    }
}

  결과  

EDCBA

반복문을 사용하여

원본 문자열(str)을 가장 마지막 인덱스의 글자부터 읽어서

reverse 문자열에 하나씩 이어붙였습니다.

 

 

 

2. StringBuffer / reverse() 메소드 사용하기

java.lang.StringBuffer 클래스의 reverse() 메소드를 사용할 수도 있습니다.

  코드  

public class StringReverse {
    public static void main(String[] args) {

        // 문자열
        String str = "ABCDE";

        // 문자열 reverse
        StringBuffer sb = new StringBuffer(str);
        String reverse = sb.reverse().toString();

        // 결과 출력
        System.out.println(sb); // "EDCBA"
        System.out.println(reverse); // "EDCBA"

    }
}

  결과  

EDCBA
EDCBA

StringBuffer sb = new StringBuffer(str);

StringBuffer 클래스는 String을 다루는 클래스입니다.

생성자의 파라미터로 문자열을 입력받을 수 있습니다.

 

String reverse = sb.reverse().toString();

StringBuffer 클래스의 reverse() 메소드를 호출하면,

reverse() 메소드를 호출한 객체, 즉 여기서는 sb의 문자열을 거꾸로 뒤집어서

sb 객체의 reference를 리턴합니다.

(reverse() 메소드는 StringBuffer 객체를 리턴하기 때문에, 

toString() 메소드를 사용하여 String으로 변환해 주었습니다.)

따라서, 출력 결과를 보면,

sb 객체도 문자열이 뒤집혀 있고,

reverse() 메소드가 리턴한 reverse의 문자열도 뒤집혀 있는 것을 확인 할 수 있습니다.

 


 

문자열을 거꾸로 뒤집어서 출력하는 방법을 살펴보았습니다.

 

 

반응형
Comments