JAVA/배열
Array_다차원배열(3)
by pms93
2022. 7. 20.
package arrays;
import java.util.Scanner;
public class Array3 {
public static void main(String[] args) {
// 다차원배열
// int array[][] = new int[3][4];
// - 배열의 차원(대괄호)이 증가 할 수록 트리 형식의 구조로 뻗어나간다고 생각하면 된다.
// - array[3]의 각각의 배열은 array와 마찬가지로 array[3][0 ~ 3]의 참조값(주소값)을 담게 된다.
// ex)
// array[0] = array[0][0], array[0][1], array[0][2], array[0][3]
// array[1] = array[1][0], array[1][1], array[1][2], array[1][3]
// array[2] = array[2][0], array[2][1], array[2][2]. array[2][3]
// 배열 선언시 첫 대괄호 제외 나머지는 빈 공간으로 선언이 가능하다.
// int array[][][] = new int[5][][];
int arr[][] = new int[][] { { 10, 20, 30 }, { 40, 50, 60 }, { 70, 80, 90 } };
System.out.print(arr[0][0] + " ");
System.out.print(arr[0][1] + " ");
System.out.print(arr[0][2] + " ");
System.out.println();
System.out.print(arr[1][0] + " ");
System.out.print(arr[1][1] + " ");
System.out.print(arr[1][2] + " ");
System.out.println();
System.out.print(arr[2][0] + " ");
System.out.print(arr[2][1] + " ");
System.out.print(arr[2][2] + " ");
// 아래의 코드처럼 가변배별의 생성도 가능하다.
// ex1)
int arr2[][] = new int[][] { { 10, 20, 30, 40 }, { 50, 60 }, { 70, 80, 90, 100, 110 }, { 120 } };
System.out.println("\n행의 수 : " + arr2.length);
System.out.println("칸의 수 : " + arr2[0].length);
System.out.println("칸의 수 : " + arr2[1].length);
System.out.println("칸의 수 : " + arr2[2].length);
System.out.println("칸의 수 : " + arr2[3].length);
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
System.out.print(arr2[i][j] + " ");
}
System.out.println();
}
// ex2)
Scanner sc = new Scanner(System.in);
System.out.print("몇 행의 배열을 만드시겠습니까? : ");
int length = sc.nextInt();
int[][] arr3 = new int[length][];
System.out.println("각 행에 배열을 만드세요!");
for (int i = 0; i < arr3.length; i++) {
System.out.print((i + 1) + "번째 행의 배열 : ");
int n = sc.nextInt();
arr3[i] = new int[n];
}
for (int i = 0; i < arr3.length; i++)
for (int j = 0; j < arr3[i].length; j++)
arr3[i][j] = j;
for (int i = 0; i < arr3.length; i++) {
for (int j = 0; j < arr3[i].length; j++)
System.out.print(arr3[i][j] + " ");
System.out.println();
}
}
}