문자열을 문자 배열로 변환 할 수 있으며 배열의 끝에서부터 시작까지 반복됩니다.
StringBuilder toReturn = new StringBuilder();
char[] tab = input.toCharArray();
for( int i = tab.length-1 ; i >= 0 ; i--){
toReturn.append( tab[i] );
}
return toReturn.toString();
이 예제에서는 String을 CharArray로 변환하는 reverse라는 메서드를 만듭니다. 마지막 문자부터 첫 번째 문자까지 모든 문자를 반복하여 StringBuilder 에 추가합니다. 그런 다음 출력이 반환됩니다.
이 메서드는 2 개의 샘플 문자열로 호출됩니다. 첫 번째 메소드 reverse는 두 번 호출되며 첫 번째 호출의 결과는 출력이 입력과 동일 함을 나타냅니다.
public class StringReverse {
public static String reverse(String input){
StringBuilder sb = new StringBuilder();
char[] tab = input.toCharArray();
for( int i = tab.length-1 ; i >= 0 ; i--){
sb.append( tab[i] );
}
return sb.toString();
}
public static void main(String[] argv) {
String test = "This is a test";
// Call reverse
String output = reverse( test );
System.out.println( test + " => " + output );
// Same test calling reverse twice
System.out.println( test + " => " + reverse( test ) + " => " + reverse(reverse( test )) );
// With Numbers
test = "0123456789";
System.out.println( test + " => " + reverse( test ) );
}
}
This is a test => tset a si sihT This is a test => tset a si sihT => This is a test 0123456789 => 9876543210