오늘은 Java에서 흔히 배우는 별찍기에 대해 알아보겠습니다.

아래의 4개 예제를 반복문 - 중첩 for문을 이용하여 별을 찍어보겠습니다.

 

화면에 아래와 같이 별을 찍어주세요.

삼각형 모양의 별찍기인데요. 다른 별찍기보다 난이도가 낮습니다.

//줄 반복
for(int i=1;i<=4;i++) {
	//별 반복
	for(int j=1;j<=i;j++) {
		System.out.print("*");
			} System.out.println("");
		}

int i의 갯수만큼 줄을 반복합니다. 1번 예제는 4줄이니 1,2,3,4 총 4번 반복합니다.

int j의 갯수만큼 별을 찍습니다. 이때 println으로 쓰면 별 하나 찍고 줄바꿈되어버리니 print로 출력해줍니다.

첫번째 for문이 한 번 실행될 때마다 두번째 for문이 반복 실행되고, 줄바꿈=println("") 후

다시 첫번째 for문으로 돌아갑니다.(int i <= 4를 만족하는 동안 계속 반복)

 

	for (int i = 0; i < num; i++) {
		for (int j = 0; j < i; j++) {
		System.out.print(" ");
	}
		for (int k = num; k > i; k--) {
		System.out.print("*");
			}
		System.out.println();
	}

//줄 반복
	for(int i=4;i>=1;i--) {
	//별 반복
	for(int j=1;j<=i;j++) {
	System.out.print("*");
     } System.out.println("");
	}

	//줄반복
	for(int i=1;i<=4;i++) {
		//공백출력
		for(int j=5-i;j>0;j--) {
			System.out.print(" ");
		}
		//별출력
		for(int k=1;k<=i*2-1;k++) {
			System.out.print("*");
		}//줄바꿈
		System.out.println("");
	}

		num = 3;
		for(int i = 0; i < num; i++) {
			//공백출력
			for(int j = num-i-1; j > 0; j--) { 
				System.out.print(" ");
			} //별출력
			for(int k = 0; k < i*2+1; k++) {
				System.out.print("*");
			}//줄바꿈
			System.out.println();
		}
		for(int i = 0; i < num; i++) {
			//공백출력
			for(int j = 0; j < i+1; j++) {
				System.out.print(" ");
			}
			//별출력
			for(int k = (num-i-1)*2 -1; k > 0; k--) {
				System.out.print("*");
			}//줄바꿈
			System.out.println();
		}