인프런 커뮤니티 질문&답변

동찬 이님의 프로필 이미지
동찬 이

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이3

질문있습니다,.

작성

·

54

0


package Practice;
import java.util.Scanner;

public class class13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int maxCount = 10;
        String[] productNames = new String[maxCount];
        int[] productPrice = new int[maxCount];
        int productCount = 0;

        while (true) {
            System.out.print("1. 상품 등록 | 2. 상품 목록 | 3. 종료\n메뉴룰 선택하세요:");
            int menu = scanner.nextInt();
            scanner.nextLine();

            if (menu == 1) {

                if (productCount >= maxCount) {
                    System.out.println("더 이상 상품을 등록할 수 없습니다.");
                    continue;
                }
                System.out.print("상품 이름을 입력하세요:");
                productNames[productCount] =scanner.nextLine();

                System.out.print("상품 가격을 입력하세요:");
                productPrice[productCount] = scanner.nextInt();

                productCount++;
            } else if (menu == 2) {
                if (productCount == 0) {
                    System.out.println("등록된 상품이 없습니다.");
                    continue;

                }
                for (int i = 0; i < productCount; i++) {
                    System.out.println(productNames[i] + ": " + productPrice[i] + "원");

                }

            } else if (menu == 3) {
                System.out.println("프로그램을 종료합니다");
                break;

            } else {
                System.out.println("잘못된 메뉴를 선택하셨습니다");


            }



        }



        }



}

요 코드에서 맨 마지막 else문에 continue; 는 없어도 되나요?

답변 1

0

안녕하세요. 동찬 이님, 공식 서포터즈 OMG입니다.

네, continue;는 없어도 됩니다. 왜냐하면 else문이 실행되었다는 것(잘못된 메뉴 메시지 출력)은

그 다음 실행은 반복문을 탈출하지 못하여 다시 while 반복문의 처음으로 돌아가기 때문입니다.

감사합니다.

동찬 이님의 프로필 이미지
동찬 이

작성한 질문수

질문하기