Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 하향 삼각형 별 패턴 출력하는 방법 완벽 가이드

이 글에서는 자바(Java)를 사용하여 하향 삼각형 별 패턴을 출력하는 방법을 단계별로 알아봅니다. 이 패턴은 여러 개의 for 반복문과 출력문을 조합하여 만들 수 있으며, 중첩 반복문의 동작 원리를 익히기에 좋은 대표적인 프로그래밍 예제입니다.

하향 삼각형 별 패턴이란?

하향 삼각형 패턴은 첫 번째 줄에 가장 많은 별이 출력되고, 아래로 내려갈수록 별의 개수가 한 개씩 줄어들며 오른쪽으로 점점 밀려나는 형태입니다. 각 줄 앞에 공백을 추가하고 별의 개수를 줄여가는 방식으로 구현합니다.

아래는 실제 실행 결과의 예시입니다.

입력 예시

행(row)의 개수를 8로 입력했다고 가정해 보겠습니다.

Enter the number of rows : 8

출력 결과

The downward triangle star pattern :
* * * * * * * *
* * * * * * *
 * * * * * *
  * * * * *
   * * * *
    * * *
     * *
      *

알고리즘

하향 삼각형 패턴을 구현하는 전체적인 흐름은 다음과 같습니다.

  1. 시작 – 프로그램을 실행합니다.
  2. 정수형 변수 i, j, k, my_input 네 개를 선언합니다.
  3. 사용자로부터 행의 개수를 입력받거나, 값을 직접 정의합니다.
  4. 두 개의 중첩 for 반복문을 사용하여 문자 사이의 공백을 처리합니다.
  5. 가장 안쪽 반복문이 끝나면 또 다른 for 반복문을 통해 별(*)을 출력합니다.
  6. 줄바꿈을 출력하여 다음 줄에 지정된 개수만큼의 문자가 나오도록 합니다.
  7. 결과를 화면에 표시합니다.
  8. 종료 – 프로그램을 마칩니다.

예제 1: 사용자 입력으로 출력하기

첫 번째 예제는 Scanner 클래스를 사용하여 사용자로부터 행의 개수를 직접 입력받는 방식입니다. 온라인 코딩 도구에서 직접 실행해 보면서 결과를 확인할 수 있습니다.

import java.util.Scanner;
public class DownwardTriangle{
   public static void main(String args[]){
      int i, j, k, my_input;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the number of my_input : ");
      my_input = my_scanner.nextInt();
      System.out.println("The downward triangle star pattern : ");
      for ( i= 0; i<= my_input-1; i++){
         for ( j=0; j<=i; j++){
            System.out.print(" ");
         }
         for ( k=0; k<=my_input-1-i; k++){
            System.out.print("*" + " ");
         }
         System.out.println();
      }
   }
}

코드 설명

  • 첫 번째 반복문(i)은 총 행의 수만큼 반복하며 각 줄을 담당합니다.
  • 두 번째 반복문(j)은 현재 행 번호만큼 공백을 출력하여 별이 오른쪽으로 밀리게 합니다.
  • 세 번째 반복문(k)은 남은 별의 개수(my_input - i)만큼 별과 공백을 출력합니다.
  • System.out.println()으로 줄바꿈을 하여 다음 행으로 넘어갑니다.

실행 결과

Required packages have been imported
A reader object has been defined
Enter the number of my_input : 8
The downward triangle star pattern :
* * * * * * * *
 * * * * * * *
  * * * * * *
   * * * * *
    * * * *
     * * *
      * *
       *

예제 2: 값 미리 정의해서 출력하기

두 번째 예제는 사용자 입력 없이 행의 개수를 코드 안에서 미리 정의한 뒤, 그 값을 콘솔에 출력하는 방식입니다. 테스트나 학습 목적으로 간편하게 사용할 수 있습니다.

public class DownwardTriangle{
   public static void main(String args[]){
      int i, j, k, my_input;
      my_input = 8;
      System.out.println("The number of rows is defined as " +my_input);
      System.out.println("The downward triangle star pattern : ");
      for ( i= 0; i<= my_input-1; i++){
         for ( j=0; j<=i; j++){
            System.out.print(" ");
         }
         for ( k=0; k<=my_input-1-i; k++){
            System.out.print("*" + " ");
         }
         System.out.println();
      }
   }
}

실행 결과

The number of rows is defined as 8
The downward triangle star pattern :
* * * * * * * *
 * * * * * * *
  * * * * * *
   * * * * *
    * * * *
     * * *
      * *
       *

마무리

지금까지 자바에서 하향 삼각형 별 패턴을 출력하는 두 가지 방법을 살펴보았습니다. 핵심은 공백을 출력하는 반복문별을 출력하는 반복문을 적절히 조합하는 것입니다. 이 원리를 이해하면 피라미드 패턴, 다이아몬드 패턴 등 다양한 별 모양 패턴도 손쉽게 응용할 수 있습니다. 여러분도 행의 개수를 바꿔가며 직접 실행해 보세요!