JAVA/자바 기본 프로그래밍

Test093 배열의 배열(2차원 배열) (7)

ready J 2020. 9. 6. 20:57

※ 배열의 배열(다차원 배열)을 활용하여 다음과 같은 데이터를 요소로 취하는 배열(4*5)을 구성하고
 그 결과를 출력하는 프로그램을 구현한다.
 단, 배열을 구성하는 구문과 출력하는 구문은 별도로 작성할수 있도록 한다.

 실행 예)

   1   8   9  16  17 
   2   7  10  15  18 
   3   6  11  14  19 
   4   5  12  13  20 
  계속하려면 아무 키나 누르세요...


방법 ①

public class Test093
{
	public static void main(String[] args)
	{
		// 배열의 배열 선언 및 메모리 할당
		int[][] arr = new int[4][5];

		int n = 0;

		for (int i = 0; i < 5; i++)		// i → 0 1 2 3 4
		{
			for (int j = 0; j < 4; j++) 	// j → 0 1 2 3
			{
				n++;
				if(i % 2 == 0)
					arr[j][i] = n;
				else
					arr[3-j][i] = n;
			}
		}

		// 전체 요소 출력
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%4d",arr[i][j]);
			}
			System.out.println();
		}
	}
}

 

방법 ②

 

		// 4행 5열 배열 준비
		int[][] arr = new int[4][5];
		int n = 1;
		
		// 배열 요소 초기화
		for (int i = 0; i < arr.length + 1; i++)			
		{		
			for (int j = 0,k=3; j < arr.length; j++)		
			{
				if(i % 2 == 0)
					arr[j][i] = n++;
				else if(i % 2 == 1)
					arr[k--][i] = n++;
			}

		}

		// 전체 요소 출력
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%4d",arr[i][j]);
			}
			System.out.println();
		}

 

실행 결과

 

// 실행 결과

/*
   1   8   9  16  17
   2   7  10  15  18
   3   6  11  14  19
   4   5  12  13  20
계속하려면 아무 키나 누르십시오 . . .
*/