2차원배열 입출력

ggujunhee·2022년 2월 2일

자바

목록 보기
1/1

2차원배열은 일반배열과 다르게 이중for문을 이용해서 값을 입력하고 출력합니다.

코드

import java.util.*;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    public static void main(String[] args) {
        int Row, Col;
        int[][] Board = new int[100][100];
        Scanner sc = new Scanner(System.in);
        System.out.println("생성할 배열의 행을 입력하세요:");
        Row = sc.nextInt(); 
        System.out.println("생성할 배열의 열을 입력하세요:");
        Col = sc.nextInt();
        for(int i = 0; i < Row; ++i) { 
            for(int j = 0; j < Col; ++j) {
                System.out.print(i+"배열에 입력할 정수(양수)를 하나씩 입력하세요 : ");                
                Board[i][j] = sc.nextInt();
            }
        }
        
        for(int i=0; i<Row; ++i) {
            for(int j=0; j <Col; ++j) {
                System.out.print(Board[i][j] + "\t"); // 한칸씩 띄우기.
            }
            System.out.println(); //줄바꿈.
        }
        sc.close();
    }
    
cs

입력은 scanner를 이용해서 입력해야하기 때문에 import java.util.*;로 util들을 임포트해주고 시작해야합니다.
배열크기를 넉넉하게 100씩 정의해두면 100x100개만큼의 값을 저장할 수 있습니다.

2차원 배열 값입력(2중 for문)

예시_

int[][] arr = new[4][5]; // [행][열]
int count = 0; //for문 전에 count 미리 만들기. 
for(int i = 0; i< 4; i++) {
	for(int j= 0; j < 5; j++) {
		count++; // 1씩 증가
		arr2[i][j]= count; // 증가한 count 배열에 저장.
	}
  • 2차배열은 [i][j] 으로 값이 들어갈 공간이 생기는데 i는 그래프 상으로 행, j는 열의 자리수
  • 값을 안넣어도 0이 기본적으로 들어있음
  • 행이 1번돌때 열은 여러번 돌아야하니까 바깥쪽에 행, 안쪽에 열을 돌려줌.

2차원배열에 값을 넣을 땐, i하나만이 아니라 i,j 두가지 값을 넣어줘야하기 때문에 이중으로 그 값을 돌려줘야합니다.
i의 값을 row값을 입력해 어디까지 돌아라해주고, j값도 col값을 입력해 제한해줍니다.
(만약 이런 제한을 해주지 않으면 100 x 100개만큼 다 입력할때까지 for문이 돌아갈 겁니다.)

저는 row를 4, col을 5로 하고 그만큼의 값을 입력해줬습니다.

결과

그럼 인덱스가 0부터 시작하니까 0의 배열부터 3의 배열, 각 배열마다 5개의 숫자를 입력해줘야합니다.
총 20개의 숫자를 입력하고 출력하게 됩니다.

여기서 주의할 점은 for문 조건입력시 i와 j를 헷갈리지 말것.
그리고 한 줄 출력은 print, 줄바꿈은 println을 사용해주세요.

profile
꾸준히 배워가는 블로그입니다.

0개의 댓글