[Java]/과제
093 - Java 과제 9 : 배열의 배열(다차원 배열)을 이용하여 알파벳 대문자를 규칙에 맞게 배열의 요소로 저장하여 출력하는 프로그램. (2)
Jelly-fish
2023. 9. 7. 10:00
package Test093;
/*==========================
■■■ 배열 ■■■
- 배열의 배열
============================*/
// 배열의 배열(다차원 배열)을 활용하여
// 다음과 같은 데이터를 요소로 취하는 배열을 구성하고
// 그 결과를 출력하는 프로그램을 구현한다.
// 실행 예)
/*
A
B C
D E F
G H I J
K L M N O
계속하려면 아무 키나 누르세요...
*/
/*
0.0 65
1.0 66 1.1 67
2.0 68 2.1 69 2.2 70
3.0 71 3.1 72 3.2 73 3.3 74
4.0 75 4.1 76 4.2 77 4.3 78 4.4 79
*/
public class Test093
{
public static void main(String[] args)
{
// 1. 배열 생성, 변수 선언*************************************************************************************
char[][] arr = new char[5][5];
int intChar = 65;
// 2. 문자형 배열의 배열(다차원 배열)의 모든 요소 값들을 ' ' 문자로 초기화.**********************************************
// → [ 공백 문자 『 ' ' 』로 초기화 해주지 않을시에, 알파벳이 들어가지 않은 배열의 방에는 알 수 없는 문자로 자동 초기화 됨.]
for (int j = 0; j < arr.length ; j++)
{
for (int i = 0; i < arr[j].length; i++)
{
arr[j][i] = ' ';
}
}
// 3. for 문을 돌면서, 문자형 배열 arr에 알파벳 A ~ O 를 규칙대로 저장.*************************************
/*[Logic]▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
『알파벳 요소 저장 순서』 『 arr[j][i] 』▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
┌────────────────┐
│ arr[0][0] │ A │ [ 행의 값 j = 0 ~ 4까지 변화한다. ]
│ │ │
│ arr[1][0] │ B │ [ 열의 값 i = 0 ~ j 까지 변화한다. ]
│ arr[1][1] │ C │ ① arr[j][0] ~ arr[j][j] 까지 알파벳 대문자를 요소로 저장한다.
│ │ │
│ arr[2][0] │ D │ → arr[j][i(=0~j)] = (char)intCh;
│ arr[2][1] │ E │
│ arr[2][2] │ F │ ② intCh의 값을 1 증가시킨다.
│ │ │ A → intCh++;
│ arr[3][0] │ G │ B C ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
│ arr[3][1] │ H │ → D E F
│ arr[3][2] │ I │ G H I J
│ arr[3][3] │ J │ K L M N O
│ : │ : │
└────────────────┘
▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤*/
for (int j = 0; j < arr.length; j++) // [ 행의 값 j = 0 ~ 4까지 변화한다. ]
{
for (int i = 0; i <= j; i++) // [ 열의 값 i = 0 ~ j 까지 변화한다. ]
{
arr[j][i] = (char)intChar; // ① arr[j][0] ~ arr[j][j] 까지 알파벳 대문자를 요소로 저장한다
intChar++; // ② intCh의 값을 1 증가시킨다.
}
}
// 전체 요소 출력****************************************************************************************
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j < arr[i].length; j++)
{
System.out.printf("%3c", arr[i][j]);
}
System.out.println();
}
}
}
// 실행 결과
/*
A
B C
D E F
G H I J
K L M N O
*/