06. 중첩 for문 [ JAVA ]

duck-ach·2022년 7월 21일
0

JAVA

목록 보기
6/27
post-custom-banner

for문은 굉장히 많이 쓰이기 때문에 연습을 확실히 해야겠다.
보통 for문은 1~3개까지는 중첩해서 쓰이기도하는데, 그 이상은 웬만하면 개발자도 사람인지라 더 간단한 방법으로 처리한다고 한다.

바로 예제를 풀어보자.

1일차 ~ 3일차의 1교시~8교시를 나타내시오. (ex. 1일차 1교시, 1일차 2교시, ..., 3일차 8교시)

public class For1 {
	public static void main(String[] args) {
    for(int day=1; day<=3; day++) {
		for(int hour=1; hour<=8; hour++) {
			System.out.println(day + "일차 " + hour + "교시");
			}
		}
		
		System.out.println();
    }
}

구구단을 출력하시오. (2x1=2, ... 9x9=81)

public class For2 {
	public static void main(String[] args) {
    	for(int dan=2; dan<=9; dan++) {
			for(int z=1; z<=9; z++) {
				System.out.println(dan + "x" + z + "=" + (dan*z));
			}
			System.out.println();
		}
    }
}

구구단을 5x5=25까지만 출력하시오. (2x1=2, 2x2=4,.... 5x5=25)

break문을 활용하여 풀 수 있다.
Label을 이용한 해결방법도 배웠는데 두가지 같이 구현해보겠다.

일반적인방법

public class For3 {
	public static void main(String[] args) {
	    for(int dan=2; dan<=9; dan++) {
			for(int z=2; z<=9; z++) {
				System.out.println(dan + "x" + z + "=" + (dan*z));
                //5x5=25까지 출력되고 for문이 중지된다.
				if(dan==5 && z==5) {
					break;
				}
				
			//System.out.println(dan + "x" + z + "=" + (dan*z)); 
                // 여기서 출력하면 5x4까지 된다.
			}
		}
    }
}

Label을 이용한 방법

public class For4 {
	public static void main(String[] args) {
    	outer : for(int dan=2; dan<=9; dan++) {
					for(int z = 1; z<=9; z++) {
						System.out.println(dan + "x" + z + "=" + (dan*z));
				
						if(dan == 5 && z == 5) {
							break outer;
						}
					}
				}
    }
}

outer를 첨가하여주고 break outer;를 해주면 된다.
꽤나 간편하고 자주쓰일 것 같으니 기억해두자.

구구단을 출력하시오. ( 2x1=2, 3x1=3, 4x1=4, ... 9x1=9 그 다음 줄 2x2=4...)

이번엔 좀 전에 구구단을 구현했던 방법과 조금 다른 방법이다.
JAVA에서 구구단이 구현되는 원리를 잘 생각하다보니 해결할 수 있었다.

public class For5 {
	public static void main(String[] args) {
    	for(int a=1; a<=9; a++) {
			
			for(int b=2; b<=9; b++) {
				
				System.out.print(b+ "x" + a+ "=" + (b*a) + "\t"); 
                // 라인을 바꿔주면 안되니까 print로한다. 
                // "\t"를 해주면 서로의 간격을 맞출 수 있다.

			}
			System.out.println(); // 실행
		}
	}

/*
2x1=2	3x1=3	4x1=4	5x1=5	6x1=6	7x1=7	8x1=8	9x1=9	
2x2=4	3x2=6	4x2=8	5x2=10	6x2=12	7x2=14	8x2=16	9x2=18	
2x3=6	3x3=9	4x3=12	5x3=15	6x3=18	7x3=21	8x3=24	9x3=27	
2x4=8	3x4=12	4x4=16	5x4=20	6x4=24	7x4=28	8x4=32	9x4=36	
2x5=10	3x5=15	4x5=20	5x5=25	6x5=30	7x5=35	8x5=40	9x5=45	
2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	7x6=42	8x6=48	9x6=54	
2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	8x7=56	9x7=63	
2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	9x8=72	
2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	
*/
profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가
post-custom-banner

0개의 댓글