[JAVA] 16. 내림차순 별 그리기

편준민's avatar
Feb 10, 2025
[JAVA] 16. 내림차순 별 그리기

문제

******* ***** *** * 순으로 나오는 프로그램 // 1. 절차 나누기 // 2. 하드코딩 // 3. 공통 모듈 만들기 // 4. 불필요한것 반복문으로 만들기 // 순으로 연습!

1. 하드 코딩

public class Prc02 { public static void main(String[] args) { // 1. 별 7 System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); // 2. 별 5 System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); // 3. 별 3 System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); // 4. 별 1 System.out.print("*"); System.out.println(); } }

2. 하드코딩 후 패턴 확인하여 반복 되는 곳 줄이기

public class Prc02 { public static void main(String[] args) { // 1. 별 7 for (int i = 0; i <7; i++) { System.out.print("*"); } System.out.println(); // 2. 별 5 for (int i = 0; i <5; i++) { System.out.print("*"); } System.out.println(); // 3. 별 3 for (int i = 0; i <3; i++) { System.out.print("*"); } System.out.println(); // 4. 별 1 for (int i = 0; i <1; i++) { System.out.print("*"); } System.out.println(); } }

3. 변수 찾기

public class Prc02 { public static void main(String[] args) { int c = 7; // 1. 별 7 for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 2. 별 5 c = c -2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 3. 별 3 c = c -2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 4. 별 1 c = c -2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); } }

4. 모든 코드를 똑같이 만들기 (공통 모듈로 만들기)

public class Prc02 { public static void main(String[] args) { int c = 9; // 1. 별 7 c = c - 2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 2. 별 5 c = c - 2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 3. 별 3 c = c - 2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); // 4. 별 1 c = c - 2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); } }

5. 공통 모듈 지우고 반복문 쓰기

public class Prc02 { public static void main(String[] args) { int c = 9; // 1. 별 7 for (int j = 0; j < 4; j++) { c = c - 2; for (int i = 0; i < c; i++) { System.out.print("*"); } System.out.println(); } } }
Share article

YunSeolAn