이차원 정수 배열
리스트 안에 리스트가 존재하는 배열을 말한다.
{ { 123}, {124}, {125} } 같은 형식을 말한다.
이해하기 쉽게 표처럼 행, 열을 따진다.
말로하면 어렵지만, 그냥 실물을 한번 보면 이해가 되니 읽는게 더 빠르다.
public class ex64 {
public static void main(String[] args) {
//2차원 정수배열
// 2행 2열
// 1열 2열 COLUMN
int[][] nums = { {10, 20}, //1행 ROW
{30, 40} //2행
};
//행index 열index
System.out.println( nums[0][0] );
System.out.println( nums[0][1] );
System.out.println( nums[1][0] );
System.out.println( nums[1][1] );
//길이만 있는 배열 선언
int[][] nums2 = new int[2][2];
nums2[0][0] = 10;
nums2[0][1] = 20;
nums2[1][0] = 30;
nums2[1][1] = 40;
System.out.println( nums2[0][0] );
System.out.println( nums2[0][1] );
System.out.println( nums2[1][0] );
System.out.println( nums2[1][1] );
//2차배열을 for문으로 순환 - 2중 for문으로
//행 인덱스 : i
//열 인덱스 : j
//2차배열의 행 길이 : 배열이름.length
//2차배열의 열 길이 : 배열이름[행인덱스].length
for( int i=0; i<nums.length; i++ ){
for(int j=0; j<nums[i].length; j++){
System.out.println(nums[i][j]);
}
}
//향상된 for문으로 2차배열 순환
for( int[] arrNum : nums ){
for( int num : arrNum ){
System.out.println( num );
}
}
}
}
import java.util.Random;
public class ex65 {
public static void main(String[] args) {
//연습문제 44
//1. 2차원 정수배열 nums를 행 3개, 열 3개로 만들고,
// 모든 행열에 값을 넣되,
// 랜덤값 정수 1~100 사이의 값을 넣고,
// 전체를 순환하여 출력하시오.
//2. 최소값과 최대값을 출력하시오.
int[][] nums = new int[3][3];
Random rand = new Random();
for(int i=0; i<nums.length; i++){
for(int j=0; j<nums[i].length; j++){
nums[i][j] = rand.nextInt(100)+1;
}
}
for( int[] arrNum : nums ) {
for( int num : arrNum ){
System.out.println( num );
}
}
//최소값/최대값 찾기
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for( int[] arrNum : nums ) {
for( int num : arrNum ){
if( min > num ){
min = num;
}
if( max < num ){
max = num;
}
}
}
System.out.println( min );
System.out.println( max );
//연습문제 45
// 순돌이네 인쇄소
// 3x3 2차원 정수배열에 아래와 같은 숫자가 들어있다면,
// 0 1 0 공백 * 공백
// 1 2 0 => * + 공백
// 1 0 0 * 공백 공백
// 이렇게 출력이 된다.
// 0 1 2
// 1 2 0
// 2 1 0 이렇게 들어가 있을때 출력결과를 표시하시오.
int[][] data = { {0, 1, 2},
{1, 2, 0},
{2, 1, 0} };
for( int[] arrData : data ) {
for( int d : arrData ){
if( d == 0 ){
System.out.print(" ");
}
else if( d == 1 ){
System.out.print("*");
}else{
System.out.print("+");
}
}
System.out.println();
}
}
}