Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
관리 메뉴

우주코딩

자바 반복문을 이용하여 별 찍기 본문

자바 기초 강의

자바 반복문을 이용하여 별 찍기

우주코딩 2021. 5. 27. 13:14

1. 일단 반복문을 이용하여 구구단을 만들어 보자.

 

<for문>
for (시작값; 끝조건; 증감) {
순환문장들...
}

for 안에 변수선언하면 변수선언은 for 조건~바디에서까지만 유효
int를 for문 밖에 선언하면 그 밖까지도 유효

 

public class 반복문{

     public static void main (String[] args){

        for (int i = 2; i<=9; i++){

            for (int j =1; j<=9; j++)

                System.out.print(i+"*"+j+"="+(i*j)+"\t"); // 탭키를 넣는 이유는 정렬을 일정하게 맞추기 위해서이다

                                    }

               System.out.println(); //줄바꿈

     }

}

 

결과값은

 

2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

 

2. 이 반복문 로직을 사용하여 직삼각형 별을 찍어보자

 

public class 직삼각형{

       public static void main(String[] args) {
       //구구단 중첩 for를 최대한 재활용하여 직삼각형 만들기
               for (int i = 1; i <=5; i++) { //1부터 5까지
               for( int j =1; j <= i; j++) {
                       System.out.print("*");
                                     }
                  System.out.println(); //줄바꿈
                }
  }

}

 

해석-

 j는 첫 수가 1이고, i가 j보다 작으면 *을 한번 찍는다.

만약 i가 1라면 j는 1인 i보다 작고 별을 한번 찍는다. 그리고 다시 다시 올라와서 i는 2가 된다.  j 또한 2가 된다.

i가 2가 되고 j또한 2가 되어 별을 한번 더 찍는다. 그리고 줄을 바꾼다.

...

...

i가 5가 될 때까지 반복.

결과는

*

**

***

****

*****

가 된다..

 

-내가 이해하지 못했던 부분은-

반복문을 구구단으로 접했던 탓에 sysout에 숫자값, 연산 값이 나와야 한다고 생각했다.

연산이 아니고 '반복'에 초점을 맞춰서 접근을 해야 이해가 가능했다.

Comments