JAVA

※ 배열의 배열(다차원 배열)을 활용하여 다음과 같은 데이터를 요소로 취하는 배열(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
계속하려면 아무 키나 누르십시오 . . .
*/

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

 실행 예)

   1   2   3   4   5  00 →
  10   9   8   7   6  ← 14
  11  12  13  14  15  20 →
  20  19  18  17  16  ← 34
  21  22  23  24  25  40 →
 계속하려면 아무 키나 누르세요...


방법 ①

public class Test092
{
	public static void main(String[] args)
	{
		// 5행 5열 배열 준비
		int[][] arr = new int[5][5];
		int n = 1;

		// 배열 요소 초기화
		for (int i = 0; i < arr.length; i++)			// i → 0 1 2 3 4
		{
			for (int j = 0; j < arr[i].length; j++)		// j → 0 1 2 3 4
			{
				if(i % 2 == 0)				// i → 0   2   4
					arr[i][j] = n++;					
				else					// i →   1   3
	
					arr[i][4-j] = 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();
		}

	}
}

 

방법 ②

 

		// 배열 요소 초기화
		int n = 1;

		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0, k = 4; j < arr[i].length; j++, k--)
			{
				if(i % 2 == 0)
				{
					arr[i][j] = n;
					n++;
				}
				else if(i % 2 == 1)
				{
					arr[i][k] = n;
					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();
		}

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

 실행 예)

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


방법 ①

 


public class Test091
{
	public static void main(String[] args)
	{
		int[][] arr = new int[5][5];		// 배열 선언
		
		int n = 1;
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				arr[j][i] = n++;		// ji		ji		ji
										// 00   →  01  →  02
										// 10   →  11  →  12
										// 20   →  21  →  22
										// 30   →  31  →  32
										// 40   →  41  →  42
			}
		}

		// 결과 출력
		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();
		}
		
	}
}

 

방법 ②

 

		// 배열 초기화
		int n;
		for (int i = 0; i < arr.length; i++)
		{
			n = i + 1;
			
			for (int j = 0; j < arr[i].length; j++)
			{
				arr[i][j] = n;
				n += 5;
			}
		}

		// 결과 출력
		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   6  11  16  21
   2   7  12  17  22
   3   8  13  18  23
   4   9  14  19  24
   5  10  15  20  25
계속하려면 아무 키나 누르십시오 . . .
*/

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

 실행 예)

  1  2  3  4  5 → 1 2 3 4 5 → i=0 j=0 → 1 출발
  5  1  2  3  4 → 1 2 3 4 5 → i=1 j=1 → 1 출발
  4  5  1  2  3 → 1 2 3 4 5 → i=2 j=2 → 1 출발
  3  4  5  1  2 → 1 2 3 4 5 → i=3 j=3 → 1 출발
  2  3  4  5  1 → 1 2 3 4 5 → i=4 j=4 → 1 출발
 계속하려면 아무 키나 누르세요...


방법 ①

{
	public static void main(String[] args)
	{
		// 배열의 배열 선언 및 메모리 할당
		int[][] arr = new int[5][5];
		
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = i, n = 1; n <= 5 ; n++)
			{
				arr[i][j] = n;  		// 00 → 1  11 → 1  22 → 1
							    	// 01 → 2  12 → 2  23 → 2
								// 02 → 3  13 → 3  24 → 3
								// 03 → 4  14 → 4  20 → 4
								// 04 → 5  10 → 5  21 → 5
				j++;
				if (j == 5)
					j = 0;
			}
		}
	
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%3d",arr[i][j]);
			}
			System.out.println();
		}

	}
}

 

방법 ②

 

		int[][] arr;
		int n = 1;

		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				if(n == 6)
					n = 1;
				arr[i][j] = n;
				n++;
			}
			n--;
		}
		
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%3d",arr[i][j]);
			}
			System.out.println();
		}

	}
}

 

방법 ③

		int[][] arr;
		int n;
        
		for (int i = 0; i < arr.length; i++)
		{

			for (int j = 0; j < arr[i].length; j++)
			{
				if(i == j)
				{
					n = 1;
					arr[i][j] = n;
					n++;
				}
				else
				{
					arr[i][j] = n;
					n++;							
				}
			
			}
			if(i<4)
				n = arr[i+1][0] = arr[i][4];
			
		}
		

		
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%3d",arr[i][j]);
			}
			System.out.println();
		}

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

 실행 예)

  1  2  3  4  5
  2  3  4  5  6
  3  4  5  6  7
  4  5  6  7  8
  5  6  7  8  9
 계속하려면 아무 키나 누르세요...


방법 ①

public class Test089
{
	public static void main(String[] args)
	{
		int arr[][] = new int[5][5];

		for (int i = 0; i < arr.length; i++)
		{
			int n = i + 1;
			for (int j = 0; j < arr[i].length; j++)
			{
				arr[i][j] = n;
				n++;
			}
		}
		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%3d",arr[i][j]);
			}
			System.out.println();
		}
	
	}
}

 

방법 ②

 

		int[][] arr = new int[5][5];

		int n;
		
		// 배열의 배열 선언 및 메모리 할당
		for (int i = 0; i < arr.length; i++)
		{
			n = i + 1;	// n=0+1 / n=1+1 / n=2+1 / n=3+1 / n=4+1
						// n=1   / n=2   / n=3   / n=4   / n=5

			for (int j = 0; j < arr[i].length; j++)
			{
				arr[i][j] = n;
				n++;
			}
		}

		for (int i = 0; i < arr.length; i++)
		{
			for (int j = 0; j < arr[i].length; j++)
			{
				System.out.printf("%3d",arr[i][j]);
			}
			System.out.println();
		}

 

실행 결과

 

// 실행 결과
/*
  1  2  3  4  5
  2  3  4  5  6
  3  4  5  6  7
  4  5  6  7  8
  5  6  7  8  9
계속하려면 아무 키나 누르십시오 . . .
*/

※ 배열의 배열(다차원 배열)을 활용하여 다음과 같은 데이터를 요소로 취하는 배열(5*5)을 구성하고
 그 결과를 출력하는 프로그램을 구현한다.

 단, 배열을 구성하는 구문과 출력하는 구문은
 별도로 작성할수 있도록 한다.

 실행 예)

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


public class Test088
{
	public static void main(String[] args)
	{
		// 배열의 배열 선언
		//int[][] arr;

		// 베열의 배열 메모리 할당(생성)
		//arr = new int[5][5];

		// 배열의 배열 선언 및 메모리 할당
		int[][] arr = new int[5][5];

		// 변수 선언 및 초기화
		int n = 1;
		//-- 1부터 1씩 증가하여 25까지 만들어낼 변수
		//	 (1 2 3 4 5 6 7 ... 23 24 25)


		// 배열의 배열을 반복문의 중첩 구문을 활용하여 구조화
		for (int i = 0; i < arr.length; i++)		// 웅 → outer → 0			  1	
		{
			for (int j = 0; j < arr[i].length; j++) // 쑝 → inner → 0 1 2 3 4 / 0 1 2 3 4	
			{
				arr[i][j] = n;
				n++;
			}
		}
		//-- 여기까지 수행하면 배열의 각 방에 값 채우기 완료~!!!

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

실행 결과

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

+ Recent posts