📚 Study/Java

JAVA :: Test094_과제_배열의 배열

bono-hye 2023. 9. 12. 00:03

○ 실습

배열의 배열(다차원 배열)을 활용하여 다음과 같은 데이터를 요소로 취하는 배열을 구성하고

그 결과를 출력하는 프로그램을 구현한다.

 

실행 예)

A   

C   B   

D   E   F

J   I   H   G

K   L   M   N   O

계속하려면 아무 키나 누르세요...

 

public class Test094
{
	public static void main(String[] args)
	{
		// 배열의 배열 선언 
		char[][] arr = new char[5][5];					//-- 5x5의 문자형 arr 배열 생성

		// 변수 선언 및 초기화
		char start = 'A';								//-- 배열에 넣어줄 값(문자형 start)을 문자형 'A'로 선언 및 초기화

		// 배열의 배열 메모리 할당
		for (int i=0; i<arr.length; i++ )				//-- 웅~~ i는 0부터 arr 배열의 길이까지 반복문 수행 (i → 01234)
		{
			for (int j=0;j<=i ;j++ )					//-- arr[i][j] 배열에서 대각선을 기준으로 왼쪽 아래 영역에만 문자 출력
			{											//--										┗ j<=i 영역에만 문자가 출력되는 것을 알 수 있음
				if (i%2==0)								//-- i가 짝수일 때는 →방향으로 출력되므로						
				{											
					arr[i][j] = start;					//-- arr[i][j] 배열에 A부터 차례로 넣어주기
					start++;
				}
				if (i%2!=0)								//-- i가 홀수일 때는 알파벳 순서가 ← 방향
				{
					arr[i][i-j] = start;				//-- 따라서 i는 그대로. j 는 i-j 방에 문자 넣어주기
					start++;
				}
			}
		}

		// 배열 전체 요소 출력
		
		for (int i=0; i<arr.length ;i++ )				//-- 웅~~    i는 0부터 arr 배열의 길이까지 반복문 수행
		{
			for (int j=0; j<arr[i].length ;j++ )		//-- 쑝쑝쑝  j는 0부터 arr[i]의 길이까지 반복문 수행
			{
				System.out.printf("%3c", arr[i][j]);	//-- arr[i][j] 배열 출력
			}
			System.out.println();						//-- j의 쑝쑝쑝 끝나면 개행
		}
	}
}