1 public class Problem{
2 public static void main(String[] args){
3 String str = "Information!";
4 int n = str.length();
5 char[] st = new char(n);
6 n--;
7 for(int k=n; k>=0; k--){
8 st[n-k] = str.charAt(k);
9 }
10 for(char c:st){
11 System.out.printf("%c", c);
12 }
13 }
14 }
문자열은 String 전역 객체를 직접 사용하여 생성할 수 있습니다.
3열 : String str은 Information! 이라는 문자열을 저장
4열 : 문자열 변수 str의 크기인 12를 정수형 변수 n의 초기값으로 할당합니다.
※ length() 메소드 : 문자열 변수에 저장된 문자열의 길이를 반환
5열 : 12개의 요소를 갖는 문자 변수 st를 선언합니다.
6열 : n의 값을 1감소시킨다. 배열의 위치가 0부터 시작하므로 배열 st는 st[0] ~ st[11]까지 12개의 문자를 저장하게 됨
7열,8열 : 문자열 변수 str에서 k번쨰에 있는 문자를 st[n-k]에 저장 → str[11] ~ str[0] 순으로 뒤에서 부터 차례로 저장
※ charAt() 메소드 : 문자열에서 지정된 위치의 문자를 읽어온다.
10열 : st배열의 요소 수만큼 11열 ( 출력 )을 반복 수행한다.
| n | k | str.charAt(k) | n-k | st[n-k] | 배열 |
| 12 | |||||
| 11 | 11 | ! | 0 | ! | ! |
| 10 | n | 1 | n | !n | |
| 9 | o | 2 | o | !no | |
| 8 | i | 3 | i | !noi | |
| 7 | t | 4 | t | !noit | |
| 6 | a | 5 | a | !noita | |
| 5 | m | 6 | m | !noitam | |
| 4 | r | 7 | r | !noitamr | |
| 3 | o | 8 | o | !noitamro | |
| 2 | f | 9 | f | !noitamrof | |
| 1 | n | 10 | n | !noitamrofn | |
| 0 | i | 11 | i | !noitamrofnI |
728x90
'BACKEND > Java' 카테고리의 다른 글
| 외부클래스 (0) | 2020.10.20 |
|---|---|
| 실행 클래스 내부에 메소드 정의 (0) | 2020.10.20 |
| 연습 [ 1~100 ] (0) | 2020.04.13 |
| JAVA - 배열 [Array] (0) | 2020.04.11 |
| JAVA - 반복문 ( while ) (0) | 2020.04.11 |