Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

060 - Java 과제 5-1 : 반복문 for문을 이용해 별 문자를 여러 모양으로 출력하는 프로그램 (왼쪽 삼각형) 본문

[Java]/과제

060 - Java 과제 5-1 : 반복문 for문을 이용해 별 문자를 여러 모양으로 출력하는 프로그램 (왼쪽 삼각형)

Jelly-fish 2023. 9. 1. 13:22

 

package Test060;

/*==============================================
	■■■ 실행 흐름의 컨트롤(제어문) ■■■
	- 반복문(for문) 실습 및 관찰
================================================*/


// ○ 다중 for문(반복문의 중첩)을 활용한 별찍기 실습

// ○ 과제
//	  다음과 같은 내용이 출력될 수 있도록
//	  반복문의 중첩 구문을 작성하여 프로그램을 구현한다.

// 실행 예)

/*


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



*/




public class Test060
{
	public static void main(String[] args)
	{
		
		// 1. 변수 선언**************************************************
		int i;		// for문에서 사용할 loof 변수
		int j;
		int k;

		// 2. 반복문 for문을 통해 다음과 같은 Logic을 구현한다.****************

		/*[Logic]▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
		
			[실행 과정]
				1. 공백을 4번 출력한다.		4. 공백을 3번 출력한다.		7. 공백을 2번 출력한다.
				2. "*"을 1번 출력한다.		5. "*"을 2번 출력한다.		8. "*"을 3번 출력한다.
				3. 개행한다.\n			6. 개행한다.\n			9. 개행한다.\n …
				
				
            (k의 값은 개행 횟수가 아니라, 1번 실행할 때 1씩 증가하는 loof변수값)   
	
			|	i(공백)	|	j("*")	|	k(개행 \n)		|
			|	  4		|	  1		|		1		|
			|	  3		|	  2		|		2		|
			|	  2		|	  3		|		3		|
			|	  1		|	  4		|		4		|
			|	  0		|	  5		|		5		|
					
				
				↓ (이 과정을 간단히 정리해 보면...)
				
			〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓	
			[아래를 모두 실행했을 때 1번씩 총 5번 개행한다.] 	▶ (k = 1 ~ 5)
				
				① 공백을 5-k만큼 출력한다.					▶ (i = 5-k ~ 0)
				② "*"을 k만큼 출력한다.						▶ (j = 1 ~ 5)
			〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
		
		▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤*/

		for (k = 1; k <= 5; k++)			// → [아래를 모두 실행했을 때 1번씩 총 5번 개행한다.] 	▶ (k = 1 ~ 5)
		{
			
			for (i = 5-k ; i >= 0  ; i--)	// → ① 공백을 5-k만큼 출력한다.						▶ (i = 5-k ~ 0)
			{
				System.out.print(" ");
			}//end for i

			
			for (j = 1 ; j <= k ; j++)		// → ② "*"을 k만큼 출력한다.						▶ (j = 1 ~ 5)
			{
				System.out.print("*");
			
			}//end for j
			
			System.out.println();
		}//end for k
		
	}
}


// 실행 결과

/*
 
     *
    **
   ***
  ****
 *****
 
*/