안녕하세요, 작가 J입니다. 이번에는 정수 N을 입력받아 N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하는 프로그램을 작성해 보겠습니다. 이 예제는 2차원 배열을 다루는 방법과 반복문을 활용하여 배열에 값을 채우고 출력하는 방법을 익히는 데 도움이 될 것입니다.
[Java Festival 12] N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하기
정수 N을 입력받아 N * N 배열에 다음과 같이 숫자를 저장하고 출력하시오.
코드 풀이
이번 문제를 해결하기 위한 자바 코드를 작성해 보겠습니다.
import java.util.Scanner;
public class Ex12 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수 N을 입력하세요: ");
int N = sc.nextInt();
int[][] array = new int[N][N];
int number = 1;
// 배열에 숫자 채우기
for (int col = 0; col < N; col++) {
for (int row = 0; row < N; row++) {
array[row][col] = number++;
}
}
// 배열 출력하기
for (int row = 0; row < N; row++) {
for (int col = 0; col < N; col++) {
System.out.print(array[row][col] + " ");
}
System.out.println();
}
sc.close();
}
}
코드 설명
1. 사용자 입력 받기
사용자로부터 정수 N을 입력받습니다.
Scanner sc = new Scanner(System.in);
System.out.print("정수 N을 입력하세요: ");
int N = sc.nextInt();
- Scanner sc = new Scanner(System.in);: Scanner 객체를 생성하여 사용자 입력을 받습니다.
- System.out.print("정수 N을 입력하세요: ");: 사용자에게 입력을 요청하는 메시지를 출력합니다.
- int N = sc.nextInt();: 사용자가 입력한 정수를 변수 N에 저장합니다.
2. 배열 선언 및 초기화
N * N 크기의 2차원 배열을 선언하고 초기화합니다.
int[][] array = new int[N][N];
int number = 1;
- int[][] array = new int[N][N];: N * N 크기의 2차원 배열을 선언합니다.
- int number = 1;: 배열에 채울 숫자를 초기화합니다.
3. 배열에 숫자 채우기
2차원 배열에 숫자를 순서대로 채웁니다. 각 열(column)을 순회하면서 행(row)을 따라 값을 넣습니다.
for (int col = 0; col < N; col++) {
for (int row = 0; row < N; row++) {
array[row][col] = number++;
}
}
- for (int col = 0; col < N; col++): 열(column)을 순회하는 반복문입니다.
- for (int row = 0; row < N; row++): 행(row)을 순회하는 반복문입니다.
- array[row][col] = number++: 배열의 해당 위치에 숫자를 저장하고, 숫자를 1 증가시킵니다.
4. 배열 출력하기
2차원 배열에 저장된 값을 출력합니다.
for (int row = 0; row < N; row++) {
for (int col = 0; col < N; col++) {
System.out.print(array[row][col] + " ");
}
System.out.println();
}
- for (int row = 0; row < N; row++): 행(row)을 순회하는 반복문입니다.
- for (int col = 0; col < N; col++): 열(column)을 순회하는 반복문입니다.
- System.out.print(array[row][col] + " ");: 배열의 해당 값을 출력합니다.
- System.out.println();: 행(row)이 끝날 때마다 줄 바꿈을 합니다.
마무리
이번 예제에서는 정수 N을 입력받아 N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하는 방법을 배웠습니다. 이를 통해 2차원 배열을 다루는 기초적인 방법과 반복문을 활용하여 배열에 값을 채우는 방법을 익힐 수 있었습니다.
프로그래밍에서 2차원 배열을 효율적으로 다루는 능력은 매우 중요합니다. 특히 이번 예제처럼 간단한 문제를 해결하면서도 배열과 반복문의 사용법을 익히는 것은 실무에서도 유용하게 쓰일 수 있습니다. 다양한 문제를 풀어보며 실력을 키워나가길 바랍니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] 13. 학생 성적 정보 분석하기 (0) | 2024.06.26 |
---|---|
[Java Festival] Bonus 02. 단어의 가운데 글자 구하기 (0) | 2024.06.26 |
[Java Festival] 11. 두 개의 정수로 나누어지는지 판별하는 메소드 작성하기 (0) | 2024.06.24 |
[Java Festival 번외] Scanner와 Random 객체, 그리고 close 메소드에 대해 알아보기 (0) | 2024.06.24 |
[Java Festival] 10. 배열을 랜덤 수로 초기화하고 최대값과 최소값 출력하기 (0) | 2024.06.23 |