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

Java로 왼쪽 삼각형 별 패턴 출력하기


이 글에서는 Java를 이용해 왼쪽 삼각형 별(*) 패턴을 출력하는 방법을 알아봅니다. 이러한 패턴은 여러 개의 for 루프print 문을 조합하면 손쉽게 구현할 수 있습니다.

실행 결과 미리 보기

입력

사용자가 아래와 같이 행(row)의 개수를 입력했다고 가정해 보겠습니다.

Enter the number of rows : 8

출력

그렇다면 원하는 출력 결과는 다음과 같습니다.

*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *

알고리즘

패턴을 출력하는 전체 과정은 다음 단계로 정리할 수 있습니다.

Step 1 - 시작(START)
Step 2 - 정수형 변수 i, j, my_input 세 개를 선언한다
Step 3 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의한다
Step 4 - 두 개의 중첩 'for' 루프를 반복하며 문자 사이의 간격을 처리한다
Step 5 - 가장 안쪽 루프의 반복이 끝나면 또 다른 'for' 루프를 통해 필요한 문자를 출력한다
Step 6 - 줄바꿈(newline)을 출력하여 각 줄마다 지정된 개수의 문자가 표시되도록 한다
Step 7 - 결과를 화면에 표시한다
Step 8 - 종료(STOP)

동작 원리

핵심은 중첩 for 루프입니다. 바깥쪽 루프는 행의 개수만큼 반복하고, 안쪽 루프는 현재 행 번호(i)에 따라 별을 i+1개씩 출력합니다. 한 행의 출력이 끝날 때마다 System.out.println()으로 줄바꿈을 해 주면 계단식으로 늘어나는 왼쪽 삼각형 모양이 완성됩니다.

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

아래 예제에서는 Scanner 클래스를 사용해 사용자로부터 행의 개수를 직접 입력받은 후 패턴을 출력합니다.

import java.util.Scanner;
public class LeftTriangle{
   public static void main(String args[]){
      int i, j, 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 rows : ");
      my_input = my_scanner.nextInt();
      System.out.println("The left triangle star pattern : ");
      for(i=0; i<my_input; i++){
         for(j=0; j<=i; j++){
            System.out.print("* ");
         }
         System.out.println();
      }
   }
}

출력 결과

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

예제 2: 미리 정의된 값으로 출력하기

아래 예제에서는 행의 개수가 코드 내에서 미리 정의되어 있으며, 해당 값이 콘솔에 그대로 출력됩니다.

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

출력 결과

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

마무리

이처럼 중첩 for 루프의 반복 횟수 조건만 조절하면 별 패턴의 크기를 자유롭게 변경할 수 있습니다. 역삼각형, 피라미드, 다이아몬드 패턴 등 다양한 형태로 응용해 보면서 반복문의 동작 원리를 익혀 보시기 바랍니다.