코딩일기/자격증

[정보처리기사] Java 제어문 | 정보처리기사 실기 기출 문제

jhy_2023 2024. 9. 3. 10:02
728x90
반응형


while과 for-each 루프를 활용한 배열 및 문자열 조작

public class Test {
    public static void main(String[] args) {
        String str = "agile";
        int x[] = { 1, 2, 3, 4, 5 };
        char y[] = new char[5];
        int i = 0;

        while (i < str.length()) {
            y[i] = str.charAt(i);
            i++;
        }

        for (int p : x) {
            i--;
            System.out.print(y[i]);
            System.out.print(p + " ");
        }
    }
}

1. 변수 및 배열 초기화

먼저, 코드를 단계별로 살펴보겠습니다.

  • String str = "agile";:
    • 문자열 str이 선언되고 초기화됩니다. 이 문자열은 "agile"이라는 단어를 담고 있습니다.
  • int x[] = { 1, 2, 3, 4, 5 };:
    • 정수형 배열 x가 선언되고 {1, 2, 3, 4, 5}로 초기화됩니다. 이 배열은 5개의 정수를 포함합니다.
  • char y[] = new char[5];:
    • 문자형 배열 y가 선언되고 크기 5의 빈 배열로 초기화됩니다. 이 배열은 이후에 str의 각 문자를 저장하는 데 사용됩니다.
  • int i = 0;:
    • i라는 정수형 변수가 선언되고 초기값으로 0이 할당됩니다. 이 변수는 이후 반복문에서 인덱스로 사용됩니다.


반응형

2. while 루프: 문자열을 문자 배열로 변환

 

  • 이 while 루프는 문자열 str의 길이만큼 반복됩니다. str.length()는 문자열의 길이(여기서는 5)를 반환합니다.
  • str.charAt(i)는 str 문자열에서 i번째 문자를 반환합니다. 이 문자가 y[i]에 저장됩니다.
  • i++를 통해 i가 1씩 증가하며, while 루프는 i가 str.length()보다 작을 때까지 반복됩니다.
  • 결과적으로 y 배열에는 'a', 'g', 'i', 'l', 'e'가 차례로 저장됩니다.

 

728x90

3. for-each 루프: 배열 요소와 문자열 문자 출력

 

  • 이 for-each 루프는 배열 x의 각 요소를 순차적으로 순회합니다. 여기서 p는 x의 현재 요소를 나타냅니다.
  • i--는 i의 값을 1 감소시킵니다. i의 초기 값은 str.length()와 동일하게 5이므로, 첫 번째 반복에서 i는 4가 됩니다.
  • System.out.print(y[i]);는 y 배열에서 i번째 문자를 출력합니다. 첫 번째 반복에서는 y[4], 즉 'e'가 출력됩니다.
  • 이어서 System.out.print(p + " ");가 호출되어 p의 값이 출력되고, 뒤에 공백이 추가됩니다.

 


4. 프로그램의 출력 결과

e5 l4 i3 g2 a1

 

  • y[i]에 해당하는 문자가 역순으로 출력되고, 그 뒤에 x 배열의 요소가 차례로 출력됩니다.
  • 전체 결과는 'e'와 5, 'l'과 4, 'i'와 3, 'g'와 2, 'a'와 1의 쌍으로 출력됩니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형