작성
·
92
0
package study.array.ex;
import java.util.Scanner;
public class ProductAdminEx {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] productNames = new String[10];
int[] productPrice = new int[10];
int productCount = 0;
while (true) {
System.out.println("1. 상품 등록 | 2. 상품 목록 | 3. 종료");
System.out.print("메뉴를 선택하세요 : ");
int option = sc.nextInt();
sc.nextLine();
switch(option) {
case 1:
if(productCount != 10){
System.out.print("상품 이름을 입력하세요 : ");
productNames[productCount] = sc.nextLine();
System.out.print("상품 가격을 입력하세요 : ");
productPrice[productCount] = sc.nextInt();
productCount++;
}
else System.out.println("더 이상 상품을 등록할 수 없습니다.");
break;
case 2:
if(productCount != 0) {
for (int i = 0; i < productCount; i++) {
System.out.print(productNames[i] + " -> " + productPrice[i]);
System.out.println();
}
}
else {
System.out.println("등록된 상품이 없습니다.");
}
break;
case 3:
System.out.println("프로그램을 종료합니다.");
System.exit(0);
}
}
}
}
마지막 문제풀이때 for문을 사용하지 않고 switch문을 사용하여서 풀었는데 어떠한 상황에서 FOR문을 사용해야 더 개선된 코드인지 SWITCH문을 사용해야 더 개선된 코드인지 분별이 잘 안갑니다. 이런 문제풀이때는 어떤걸 사용해야 하나요??
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. junghwan__님.
포문과 스위치문 사용에 대한 차이점을 이해하고 역할에 맞게 사용하는 것이 중요합니다. 두 문법은 서로 다른 목적을 가지고 있으며, 상황에 따라 사용해야 합니다.
for문은 반복이 필요한 경우에 사용됩니다. 특정 횟수만큼 반복하거나 조건이 만족될 때까지 반복하도록 설계되어 있습니다. 예를 들어 여러 개의 상품 정보를 출력할 때 배열을 통해 반복적으로 접근해야 할 경우 for문이 유용합니다.
switch문은 주로 조건 분기를 위해 사용됩니다. 여러 조건 중 하나를 선택하는 구조로, 메뉴 선택과 같은 상황에 적합합니다. 위 코드에서 사용하신 switch문은 사용자의 입력에 따라 서로 다른 블록을 실행하는 분기점 역할을 합니다.
따라서, 상품 등록과 같은 로직에서는 switch문을 사용해 메뉴를 선택하고, 상품 목록을 출력할 때처럼 같은 동작을 여러 번 수행해야 하는 경우 for문을 사용합니다.
관련하여 더 깊이 있는 답변은 아래 링크에서 찾아보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.