[JAVA] 4. 반복문 Ⅳ. 오름차순 별 그리기

최재원's avatar
Feb 05, 2025
[JAVA] 4. 반복문 Ⅳ. 오름차순 별 그리기

1. 별 피라미드

* ** *** **** *****
  1. 절차를 나눈다.
  1. 하드코딩 한다. (노가다) (패턴, 변수, 샘플링) (기븐데이터(값을 정해서 주어짐)로 절차 생략)
  1. 공통모듈을 만든다. (동일한 부분)
  1. 불필요한 반복을 반복문으로 만든다.
  1. 리팩토링한다. (이름변경, 코드정리)

1. 절차를 나눈다.

  1. 별 하나찍고 줄바꿈
  1. 별 두개찍고 줄바꿈
  1. 별 세개찍고 줄바꿈
  1. 별 네개찍고 줄바꿈
  1. 별 다섯개찍고 줄바꿈

2. 하드코딩 한다.

System.out.print("*"); System.out.println(); System.out.print("*"); System.out.print("*"); System.out.println(); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println();

3. 반복되는 부분을 모듈로 만든다.

for (int i = 0; i < 1; i++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 2; i++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 3; i++) { System.out.print("*"); } System.out.println();
int n = 0; n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println(); n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println(); n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println();

4. 불필요한 부분 반복문으로 만든다.

int m = 0; for (int line = 0; line < 5; line++) { m++; for (int count = 0; count < m; count++) { System.out.print("*"); } System.out.println(); }

5. 전체코드

public class Prc01 { public static void main(String[] args) { // 절차를 나눈다. // 1. 별 하나찍고 줄바꿈 System.out.print("*"); System.out.println(); // 2. 별 두개찍고 줄바꿈 System.out.print("*"); System.out.print("*"); System.out.println(); // 3. 별 세개찍고 줄바꿈 System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); //---------------------------------------------- // 별 찍는 부분이 반복되니 모듈로 만든다. // 1. 별 한개찍고 줄바꿈 for (int i = 0; i < 1; i++) { System.out.print("*"); } System.out.println(); // 2. 별 두개찍고 줄바꿈 for (int i = 0; i < 2; i++) { System.out.print("*"); } System.out.println(); // 3. 별 세개찍고 줄바꿈 for (int i = 0; i < 3; i++) { System.out.print("*"); } System.out.println(); //----------------------------------------------- // i의 최대값이 변경된다. -> 변수로 만든다 // 코드를 동일한 패턴으로 만든다. int n = 0; n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println(); n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println(); n++; for (int i = 0; i < n; i++) { System.out.println("*"); } System.out.println(); //---------------------------------------------------- // 반복되는 패턴을 모듈로 만들어 반복문을 만든다. // 변수 이름을 이해하기 쉽게 변경한다. int m = 0; for (int line = 0; line < 5; line++) { m++; for (int count = 0; count < m; count++) { System.out.print("*"); } System.out.println(); } } }
notion image
Share article

jjack1