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

자바(Java)로 속이 빈 직각삼각형 별(*) 패턴 출력하는 프로그램


이 글에서는 속이 빈(hollow) 직각삼각형 별(*) 패턴을 출력하는 방법을 알아보겠습니다. 이 패턴은 여러 개의 for 반복문과 print 문을 조합하여 만들 수 있습니다. 첫 번째 줄에는 별 하나가 출력되고, 마지막 줄에는 n개의 별이 모두 출력됩니다. 그 외의 중간 줄들은 줄의 시작과 끝에 정확히 두 개의 별만 출력되며, 두 별 사이에는 공백이 들어가 빈 공간처럼 보이게 됩니다.

아래는 동작 과정에 대한 예시입니다.

입력

사용자가 아래와 같은 값을 입력한다고 가정합니다.

크기를 입력하세요 : 8

출력

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

속이 빈 직각삼각형 :
*
* *
*  *
*   *
*    *
*     *
********

알고리즘

1단계 - 시작
2단계 - i, j, k, my_input 네 개의 정수 변수를 선언합니다.
3단계 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의합니다.
4단계 - 두 개의 중첩 'for' 반복문을 사용하여 문자 사이의 공백을 만듭니다.
5단계 - 가장 안쪽 반복문을 순회한 후, 또 다른 'for' 반복문을 실행하여 필요한 문자를 출력합니다.
6단계 - 줄바꿈을 출력하여 다음 줄에 지정된 개수의 문자가 나오도록 합니다.
7단계 - 결과를 화면에 표시합니다.
8단계 - 종료

예제 1

다음 예제는 프롬프트를 통해 사용자로부터 크기를 입력받는 경우입니다.

import java.util.Scanner;
public class Hollowtangle{
   public static void main(String[] args){
      int my_input, k, i, j;
      System.out.println("필요한 패키지가 임포트되었습니다");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("reader 객체가 정의되었습니다 ");
      System.out.print("크기를 입력하세요 : ");
      my_input = my_scanner.nextInt();
      for( i=1;i<=my_input;i++){
         if(i==1 || i==my_input)
         for( j=1;j<=i;j++){
            System.out.print("*");
         } else {
             for( j=1;j<=i;j++){
                if(j==1 || j==i)
                   System.out.print("*");
                else
                   System.out.print(" ");
            }
         }
      System.out.println();
    }
 }
}

실행 결과

필요한 패키지가 임포트되었습니다
reader 객체가 정의되었습니다
크기를 입력하세요 : 8
**
* *
*  *
*   *
*    *
*     *
********

예제 2

다음 예제는 크기 값이 미리 정의되어 있으며, 해당 값을 콘솔에 바로 출력하는 경우입니다.

public class Hollowtangle{
   public static void main(String[] args){
      int my_input, i, j;
      my_input = 8;
      System.out.println("크기가 " +my_input+ "(으)로 정의되었습니다");
      for( i=1;i<=my_input;i++){
         if(i==1 || i==my_input)
         for( j=1;j<=i;j++){
            System.out.print("*");
         } else {
            for( j=1;j<=i;j++){
               if(j==1 || j==i)
                  System.out.print("*");
               else
                  System.out.print(" ");
            }
         }
         System.out.println();
      }
   }
}

실행 결과

크기가 8(으)로 정의되었습니다
*
**
* *
*  *
*   *
*    *
*     *
********