JAVA/수업 복습

자바 공부기록 16 - 이중 for문 예제

본이qq 2022. 4. 12. 17:00

●이중 for문

 

 

1
2
3
4
5
6
7
8
9
10
11
12
package days11;
 
public class ControllOp_For15 {
 
    public static void main(String[] args) {
        
        for(int i=1; i<=10; i++) {
            for(int j=1; j<=10; j++) {
                System.out.printf("#");
             }
            System.out.println();
        }
cs

실행결과

 -하위에 있는 for문 실행 x 10번

 

 

 

● 1부터 100까지 진행되는 반복실행문 안에서 1부터 100사이의  모든 소수(prime number) 를 출력

 

-1 부터 자기자신의 숫자까지 진행되는 반복실행문으로 두번째 반복실행 숫자로 모두 나눠보고

  나누어 떨어진 횟수가 2회이면 소수인걸로 간주하여 출력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) {
        int cnt = 0;
        
        for(int i=2; i<=100; i++) {
            cnt = 0;
            for(int j=2; j<=i; j++ ) {
                if(i%j==0) cnt++;
                
                
            }
            
            if(cnt==2)System.out.printf("소수 : %d",i);
            else System.out.printf("소수아님 : %d",i);
            
            System.out.println();
            }
cs

여기서 cnt값을 다시 0으로 초기화해주지 않으면 잘못된 값이 나온다.

(두번째 반복실행문에서 나온 cnt값이 다시 반복실행문 안으로 들어가 값이 누적되기때문)