본문 바로가기
Java 프로그래밍 예제

2차원 배열에 숫자를 차례대로 출력하기

by 자유코딩 2017. 9. 29.

이번 글에서는 2차원 배열에 숫자를 차례대로 출력하는 방법에 대해서 알아보도록 하겠습니다

배열에 관한 예제 입니다

다음 그림과 같이 출력되는 소스코드를 작성해보겠습니다

 

그림

public class Class1 {
    public static void main(String[] args) {
        int[][] arr = new int[5][5];//표와 같이 출력할 5x5배열을 선언한다
        int num = 1;//배열에 대입할 첫번째 수 num을 선언하고 초기화한다
        for (int i = 0; i < arr.length; i++) {//배열 arr의 행의 길이만큼 반복문이 수행된다
            for (int j = 0; j < arr[0].length; j++) {//배열arr[0]의 열의 길이만큼 반복문이 수행된다
                arr[i][j] = num;//arr[i][j]에 num을 대입한다
                System.out.print(arr[i][j]+ " ");//배열 arr에 들어있는 숫자를 출력한다
                num++;//num을 1증가시킨다
            }
            System.out.println();//줄을 바꾼다
        }
    }
}
​

 

출력

 

그럼 이제 예제를 조금 바꿔 보겠습니다

아까 전의 그림과는 그림이 조금 다릅니다

그림처럼 출력하는 소스코드를 작성 해보겠습니다

public class Class1 {
    public static void main(String[] args) {
        int[][] arr = new int[5][5];
        int num = 1;//대입 할 숫자를 1로 초기화 한다
        for (int i = 0; i < arr.length; i++) {//배열의 길이만큼 반복문을 수행한다
            if(i%2==0) {//2로 나눠서 나머지가 0이라면 0번째,2번째,4번째 행이다
                for (int j = 0; j < arr.length; j++) {//각 행의 열에 대해서 반복문을 수행한다
                    arr[i][j] = num;//num을 배열에 대입한다
                    num++;//num의 크기를 1 증가시킨다
                }                
            }
            else {//i를 2로 나눠서 나머지가 0이 아닌 경우,즉 1번째 3번째 행인 경우
                for (int j = 4; j >=0 ; j--) {//각 행의 열에 대해서 반복문을 수행한다
                    arr[i][j] = num;//num을 배열에 대입한다
                    num++;//num의 크기를 1 증가 시킨다
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {//각 행에 대한 반복문
            for (int j = 0; j < arr.length; j++) {//각 열에 대한 반복문
                System.out.print(arr[i][j]+ " ");//반복문을 수행하며 배열에 있는 값들을 모두 출력한다
            }
            System.out.println();
        }
    }
}​

 

출력

 

설명은 주석에 적었습니다

두 번째 그림의 예제는 각 행의 0,1,2,3,4 인덱스를 0으로 나눠서 문제를 해결했습니다

0,2,4번째 행에서는 값이 증가하고 있습니다

1,3번째 행에서는 값이 감소하고 있습니다

 

이번 글에서는 배열의 인덱스에 관한 예제에 대해서 알아봤습니다

 

필요한 글이나 영상이 있으시다면 아래 주소에 올려주세요

https://www.contents.click/

댓글