안녕하세요, 작가 J입니다. 오늘은 초보자도 쉽게 이해할 수 있는 Java로 별을 출력하는 프로그램을 만들어 보겠습니다. 입력받은 행 개수에 따라 별을 출력하는 이 문제는 자바 기초 문법을 익히기에 아주 좋은 예제입니다. 함께 차근차근 살펴보도록 하겠습니다.
[Java Festival 05] 입력받은 행 개수에 따라 별 출력하기
행 개수를 입력 받아 다음과 같이 삼각형을 출력하시오.
문제 설명
사용자로부터 행 개수를 입력받아, 해당 행 개수만큼 별을 출력하는 프로그램을 작성합니다. 각 행의 별 개수는 행 번호와 같습니다.
우리가 예전에 실습했던 별찍기의 응용 버전입니다. 그때는 5행만 가지고 있는 별을 출력했다면, 이번에는 사용자로부터 입력받은 행 개수만큼 별을 출력하는 예제입니다.
코드 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("행 개수 : ");
int row = sc.nextInt();
for (int i = 0; i < row; i++) { // 행 개수만큼 반복
for (int j = 0; j <= i; j++) { // 각 행에 출력할 별의 개수만큼 반복
System.out.print("*");
}
System.out.println(); // 한 행이 끝나면 줄바꿈
}
}
}
예전에 진행했던 별찍기와 코드의 진행은 비슷합니다. 다만 어디까지 반복할 것인지 for 문의 조건에 row가 들어가는 점이 다릅니다. while 문을 사용하는 방법도 있겠지만, 이 방법이 가장 간단하다고 생각합니다.
표는 i, j의 좌표값을 나타냅니다. 3개를 찍는 기준으로 표를 그려보겠습니다. 이러한 예제는 큰 숫자를 입력해서 복잡하게 보는 것보다 3, 4와 같이 작은 줄부터 시작하는 게 이해하기 쉽습니다.
*(0, 0) | (0, 1) | (0, 2) |
*(1, 0) | *(1, 1) | (1, 2) |
*(2, 0) | *(2, 1) | *(2, 2) |
위 표를 보면 첫 번째 for 문과 두 번째 for 문을 돌고 별을 찍는 걸 볼 수 있습니다. 그리고 두 번째 for 문에 j <= i 조건이 있어서, j가 i보다 작거나 같을 때까지만 반복합니다. 그리고 별을 찍은 뒤에는 아래 줄로 가야 하기 때문에 println을 써서 라인을 바꿔줍니다.
반복문을 사용할 때, 각 반복의 흐름을 이해하는 것이 중요합니다. 위 코드에서는 두 개의 반복문을 사용하여 각 행과 열을 제어합니다. 외부 반복문은 행을 제어하고, 내부 반복문은 각 행에서 출력할 별의 개수를 제어합니다. 이를 통해 사용자로부터 입력받은 행 개수에 맞춰 별을 출력할 수 있습니다.
마무리
이 프로그램은 초보자가 자바의 기초 문법을 익히기에 매우 좋은 예제입니다. for 문을 사용하여 반복문을 이해하고, 조건에 따라 출력되는 결과를 직접 확인할 수 있습니다. 이 코드를 통해 반복문의 기본 개념을 확실히 익히길 바랍니다.
앞으로도 많은 예제를 더욱 쉽게 풀이 하도록 노력해 보겠습니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] 07. 입력받은 행 개수에 따라 역삼각형 모양 별 출력하기 (0) | 2024.06.22 |
---|---|
[Java Festival] 06. 수열을 이용한 계산 문제 해결하기 (0) | 2024.06.22 |
[Java Festival] 04. 거스름돈 문제 해결하기 (0) | 2024.06.21 |
[Java Festival] 03. 1부터 100까지 번갈아 더하고 빼는 문제 해결하기 (0) | 2024.06.21 |
[Java Festival] 02. 시급 계산기 구현하기: 초과 근무 시급 계산 프로그램 (0) | 2024.06.16 |