java

java 2차원배열

full-moon 2022. 2. 17. 17:42

예제

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// 2차원 배열 : 행렬
		// 타입[][] 배열명 = new 타입[i][j];
		
		int arr[][] = new int[2][4];
		int num = 1, cnt = 0;
		Scanner sc = new Scanner(System.in); 
		// 2차원 배열의 크기
		
		System.out.println("arr.length : "+arr.length); // arr.length : 2

		System.out.println("arr[0].length : "+arr[0].length); // arr.length : 4
		System.out.println("arr[1].length : "+arr[1].length); // arr.length : 4

		for(int i=0; i<arr.length; i++) { //2번
			for(int j=0; j<arr[0].length; j++) { //4번 총 8번반복
				
				arr[i][j] = num++;
				
				System.out.println("arr["+i+"]["+j+"]="+arr[i][j]);
				
			}
		}		
		
		String words[][] = {
				{"chair", "의자"},
				{"desk", "책상"},
				{"coffee", "커피"},
				{"pen", "볼펜"},
				{"computer", "컴퓨터"}
		};
		//words배열의 크기를 확인! words[5][2]
		System.out.println(words.length);
		System.out.println(words[0].length);
		
		for(int i = 0; i<words.length; i++) {
			System.out.println("문제"+(i+1)+". "+words[i][0]+"의 뜻은 무엇인가요?");
			String answer = sc.next();
			
			if(answer.equals(words[i][1])) {
				System.out.println("정답입니다!");
				cnt++;
				
			}else {
				System.out.println("오답입니다!");
				System.out.println("정답은 "+words[i][1]+" 입니다.");
			}
			for(int j=0; j<words[i].length; j++) {
				
			}
		}
		System.out.println(cnt+"개 맞췄습니다.");

	}

}

실행결과

설명

2차원 배열   선언방법 :  타입[ ][ ] 배열명 = new 타입[i][j];
  2차원 배열은 행과 열로 이루워진 배열이라고 보면 된다.

 

  words.length; 를 해주면 행의 개수 = 5
  words[0] ~ words[5].length 를 해주면 열의 개수 = 2
  words[ ][ ] : 즉 첫번째 [ ]는 행 두번째 [ ]는 열의 개수를 의미한다.
 
  ex)
  worlds[1][1] = 책상
  worlds[4][0] = computer