JAVA
[Java_05] multi_array
korany
2023. 3. 8. 14:41
2차원 배열의 모든 값을 출력할 땐 2중 for문이 필요!
중요!
test.length -> 큰 방의 개수
test[i].length -> 각 큰방에 포함되어 있는 작은 방의 개수
// 다차원 배열
// 1차원 배열이 2개 모이면 2차원 배열
// 1차원 배열이 3개 모이면 3차원 배열
int[][] test = new int[2][3]; // 큰방 2개 작은 방 3개
test[0][0] = 10;
test[0][1] = 20;
test[0][2] = 30;
test[1][0] = 40;
test[1][1] = 50;
test[1][2] = 60;
System.out.println(test[0][1]); //20
System.out.println(test[1][1]); //50
System.out.println("------------------------------------");
// 2차원 배열의 모든 값을 출력할 땐 2중 for문이 필요!
//test.length -> 큰 방의 갯수
for(int i = 0; i<test.length; i++) {
// 중요!!! test[i].length -> 각 큰방에 포함되어 있는 작은 방의 갯수
for(int j = 0; j<test[i].length; j++) {
System.out.printf("%d ", test[i][j]);
}//inner
System.out.println();
}//outer
// 2차원 배열의 서언 밑 생성, 초기화를 한번에 하기
char[][] chArr = { { 'J', 'A', 'V', 'A' } ,
{ 'S', 'P', 'R', 'I', 'N', 'G' } };
//chArr이 가진 모든 값을 출력
for(int i=0; i<chArr.length; i++) {
for(int j=0; j<chArr[i].length; j++) {
System.out.print(chArr[i][j]);
}
System.out.println();
}
작은 방의 개수 지정
int[][] num = new int[2][]; // 큰방은 2개인데 작은 방의 개수는 못정했어
num[0] = new int[3]; // 큰 0번 방은 작은 방 3개
num[1] = new int[2]; // 큰 1번 방은 작은 방 2개
num[0][0] = 10;
num[0][1] = 20;
num[0][2] = 30;
num[1][0] = 40;
num[1][1] = 50;
// num 배열의 모든 값 출력
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num[i].length; j++) {
System.out.print(num[i][j] + " ");
}
System.out.println();
}
2차원 배열 arr에 담긴 모든 값의 합과 평균을 출력
int[][] arr = { {0, 3, 1, 5},
{6, 2, 1},
{1, 2, 3, 4},
{2, 0, 1, 1, 0, 4} };
int sum =0;
float avg = 0;
int count = 0;
for(int i = 0; i<arr.length; i++) {
for(int j = 0; j<arr[i].length; j++) {
sum += arr[i][j];
count++;
}
}
System.out.println(sum);
avg = sum/(float)count;
System.out.printf("%.1f", avg);
// 총 합 : 36
// 평 균 : 2.1 ( 평균은 소수점 한자리 까지 출력)