본문 바로가기

인강 보습 (인프런,유데미,패스트캠퍼스)/나도코딩의 자바 기본편

제어문 (3) - 이중반복문, 구구단, Break, Continue

public static void main(String[] args) {
    // 이중 반복문

    // 별 (*) 사각형 만들기
    /*

    *****
    *****
    *****
    *****
    *****

     */
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            System.out.print("*");
        }
        System.out.println();
    }

    System.out.println("-----------------");

    // 별 (*) 왼쪽 삼각형 만들기
    /*

    *
    **
    ***
    ****
    *****

     */
    for (int i = 0; i < 5; i++) {
        // for (int j = 0; j < i + 1; j++) {
        for (int j = 0; j <= i; j++) {
            System.out.print("*");
        }
        System.out.println();
    }

    System.out.println("-----------------");

    // 별 (*) 오른쪽 삼각형 만들기
    /*

         *
        **
       ***
      ****
     *****

     SSSS*
     SSS**
     SS***
     S****
     *****

     */
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 4 - i; j++) {
            System.out.print(" ");
        }
        for (int k = 0; k <= i ; k++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
public static void main(String[] args) {
    // 구구단
    // 2 * 1 = 2
    // 2 * 2 = 4

    for (int i = 2; i < 10; i++) {
        for (int j = 1; j < 10; j++) {
            System.out.println(i + " x " + j + " = " + (i * j));
        }
        System.out.println();
    }
}
public static void main(String[] args) {
    // Break
    // 치킨 집에서 매일 20마리만 판매 (1인당 1마리만 구매 가능)
    // 손님이 50명 대기

    // For 문
    int max = 20;
    for (int i = 1; i <= 50; i++) {
        System.out.println(i + "번 손님, 주문하신 치킨 나왔습니다.");
        if (i == max) {
            System.out.println("금일 재료가 모두 소진되었습니다.");
            break; // 반복문을 탈출
        }
    }
    System.out.println("영업을 종료합니다.");

    System.out.println("---------------------");

    // While 문
    int index = 1; // 손님 대기 번호
    while (index <= 50) {
        System.out.println(index + "번 손님, 주문하신 치킨 나왔습니다.");
        if (index == max) {
            System.out.println("금일 재료가 모두 소진되었습니다.");
            break;
        }
        index++;
    }
    System.out.println("영업을 종료합니다.");
}
public static void main(String[] args) {
    // Continue

    // 치킨 주문 손님중에 노쇼 손님이 있다고 가정
    // For
    int max = 20; // 최대 치킨 판매 수량
    int sold = 0; // 현재 치킨 판매 수량
    int noShow = 17; // 대기번호 17번 손님이 노쇼
    for (int i = 1; i <= 50; i++) {
        System.out.println(i + "번 손님, 주문하신 치킨 나왔습니다.");

        // 손님이 없다면? (noShow)
        if (i == noShow) {
            System.out.println(i + "번 손님, 노쇼로 인해 다음 손님에게 기회가 넘어갑니다.");
            continue;
        }

        sold++; // 판매 처리
        if (sold == max) {
            System.out.println("금일 재료가 모두 소진되었습니다.");
            break;
        }
    }
    System.out.println("영업을 종료합니다.");

    System.out.println("------------------");
    // While 문
    sold = 0;
    int index = 0; // 손님 번호
    // while (index <= 50) {
    while (true) {
        index++;
        System.out.println(index + "번 손님, 주문하신 치킨 나왔습니다.");

        // 손님이 없다면 (noShow)
        if (index == noShow) {
            System.out.println(index + "번 손님, 노쇼로 인해 다음 손님에게 기회가 넘어갑니다.");
            continue;
        }

        sold++; // 판매 처리
        if (sold == max) {
            System.out.println("금일 재료가 모두 소진되었습니다.");
            break;
        }
    }
    System.out.println("영업을 종료합니다.");
}