[JAVA] 16. for문을 이용한 별 그리기 1

문정준's avatar
Feb 05, 2025
[JAVA] 16. for문을 이용한 별 그리기 1

별 그리기 문제 1

  • 별을 첫 줄에는 1개, 둘째 줄에는 2개, … , 다섯째 줄에는 5개를 그리시오.
 

문제 분석

  • 별을 반복해서 그리되, 각 줄마다 개수가 점점 늘어나게 그려야 함.
    • 반복문을 여러 번 반복해야 함 : 이중 반복문 사용 필요
 

코드 작성

package ex03; // 주석 처리된 코드는 내가 생각한 코드 public class Prc01 { public static void main(String[] args) { // 1. 별 하나 찍기 // System.out.println("*"); int n = 0; n++; for (int i = 0; i < n; i++) { System.out.print("*"); } System.out.println(); // 2. 별 2개 찍기 // for (int i = 0; i < 2; i++) System.out.print("*"); n++; for (int i = 0; i < n; i++) { System.out.print("*"); } System.out.println(); // 3. 별 3개 찍기 // for (int i = 0; i < 3; i++) System.out.print("*"); n++; for (int i = 0; i < n; i++) { System.out.print("*"); } System.out.println(); // 4. 별 4개 찍기 // for (int i = 0; i < 4; i++) System.out.print("*"); n++; for (int i = 0; i < n; i++) { System.out.print("*"); } System.out.println(); // 5. 별 5개 찍기 // for (int i = 0; i < 5; i++) System.out.print("*"); n++; for (int i = 0; i < n; i++) { System.out.print("*"); } System.out.println(); // 6. 한 번에 다 처리 (이중 반복문) n = 0; for (int line = 0; line < 5; line++) { n++; for (int count = 0; count < n; count++) { System.out.print("*"); } System.out.println(); } } }
  • n이라는 변수를 추가하여 줄이 추가될 때마다 n에 1씩 추가 (line counter)
  • 이중 반복문을 이용하여 줄을 여러 번 적는 것을 반복문으로 단축
    • 별을 연속으로 찍은 후 줄을 바꿔야 하므로 별을 찍는 sout 문은 println이 아닌 print
    • 각 줄의 별 입력이 끝난 후 println을 통한 줄 바꿈
 

결과

notion image
 
💡
문제 요점
  1. 각 줄이 변경될 때마다 별의 개수가 늘어남에 주의
  1. line counter의 개념을 이해하고 추가 변수를 사용할 수 있어야 함
  1. 줄 바꿈 및 별 출력의 sout문 차이에 유의
 
Share article

sxias