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개만큼의 값을 저장할 수 있습니다.
예시_
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하나만이 아니라 i,j 두가지 값을 넣어줘야하기 때문에 이중으로 그 값을 돌려줘야합니다.
i의 값을 row값을 입력해 어디까지 돌아라해주고, j값도 col값을 입력해 제한해줍니다.
(만약 이런 제한을 해주지 않으면 100 x 100개만큼 다 입력할때까지 for문이 돌아갈 겁니다.)
저는 row를 4, col을 5로 하고 그만큼의 값을 입력해줬습니다.

그럼 인덱스가 0부터 시작하니까 0의 배열부터 3의 배열, 각 배열마다 5개의 숫자를 입력해줘야합니다.
총 20개의 숫자를 입력하고 출력하게 됩니다.
여기서 주의할 점은 for문 조건입력시 i와 j를 헷갈리지 말것.
그리고 한 줄 출력은 print, 줄바꿈은 println을 사용해주세요.