Coding/JAVA

[JAVA] 중첩 for문 사용한 예제 ( 구구단, 피라미드)

민톨이 2024. 3. 19. 19:12
728x90

예제) 이중 for문으로 구구단 만들기 ( 9단까지)

//구구단 출력 - 중첩 for 문 사용

원하는 결과
// 1 * 1 = 1
// ...
// 9 * 9 = 81
public class NesteEx1 {

    public static void main(String[] args) {
        for(int i=1;i<=9;i++) {
            for(int j=1;j<=9;j++){
                System.out.println(i + " * " + j + " = " + i * j);
            }
        }
    }
}

 

바깥에 있는 ex) 1 *9 = 9 에서 1 

숫자가 i 반복문이고 9가 j반복문  => 이런식으로 1~9까지 출력

 


예제) 피라미드 출력

- int rows(행 수)를 선언. // 이 수만큼 피라미드를 출력 (rows가 층 수)
- Tip
  println()은 출력 후 개행. 고로 라인을 넘기지 않고 출력하려면 print()를 사용!
public class NestedEx2 {

    public static void main(String[] args) {

        int rows = 5;
        String star = "*";

        for (int i = 1; i <= rows; i++) { // i = 1, 2, 3, 4, 5
            for (int j = 1; j <= i; j++) { 
                System.out.print(star); // 문자열 변수 선언 안하고 그냥 "*"프린트해도 ㄱㅊ
            }
            System.out.println();
        }
    }
}

 

- 출력 결과

 

 

=> 두번째 for문에서 j <= i 조건이 중요하다.

왜냐하면 피라미드는 밑으로 갈수록 길어지기 때문에 ,,

두번째 for문에도 j<=rows를 해버리면  5개씩 5줄 프린트 되는 "*"이 총 5개인 그냥 네모가 나온다.

(처음에 한 실수 ㅎㅎ;;)