ProductAdminEx | Switch 사용
110
작성한 질문수 2
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
안녕하세요. junghwan__님, 공식 서포터즈 David입니다.
for문은 특정 조건에 따라 반복 작업을 수행하는 데 적합하고, switch문은 여러 값 중 하나를 선택해 그에 맞는 코드를 실행할 때 유용합니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. junghwan__님.
포문과 스위치문 사용에 대한 차이점을 이해하고 역할에 맞게 사용하는 것이 중요합니다. 두 문법은 서로 다른 목적을 가지고 있으며, 상황에 따라 사용해야 합니다.
for문은 반복이 필요한 경우에 사용됩니다. 특정 횟수만큼 반복하거나 조건이 만족될 때까지 반복하도록 설계되어 있습니다. 예를 들어 여러 개의 상품 정보를 출력할 때 배열을 통해 반복적으로 접근해야 할 경우 for문이 유용합니다.
switch문은 주로 조건 분기를 위해 사용됩니다. 여러 조건 중 하나를 선택하는 구조로, 메뉴 선택과 같은 상황에 적합합니다. 위 코드에서 사용하신 switch문은 사용자의 입력에 따라 서로 다른 블록을 실행하는 분기점 역할을 합니다.
따라서, 상품 등록과 같은 로직에서는 switch문을 사용해 메뉴를 선택하고, 상품 목록을 출력할 때처럼 같은 동작을 여러 번 수행해야 하는 경우 for문을 사용합니다.
관련하여 더 깊이 있는 답변은 아래 링크에서 찾아보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
문제와 풀이4 문제점
0
58
2
문제풀이 시간마다 방향성
0
53
2
피라미드 문제 풀이
0
75
1
ScannerWhile3 예제 코드 질문
0
62
1
짝수 출력 문제 질문
0
55
1
Array 연습 문제 5번 질문입니다.
0
87
2
단축어가 이상하게 나옵니다
0
137
2
Sql강의
0
97
1
array 문제풀이 2번 질문입니다.
0
58
1
JAVA입문 / 메서드편 문제와 풀이2
0
53
1
인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요
1
842
3
OperationEx3에서 꼭 boolean을 써야 하나요?
0
65
1
for, while문 작성
0
68
1
68강 ArrayEx6 클래스 질문
0
63
1
IO.println(String.format("Hello and welcome!"));
0
156
2
소스코드 실행이 안돼요
0
125
2
메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?
0
81
1
While과 for 스코프 질문
0
65
1
김영한 java 입문 설치 질문
0
144
2
버퍼문제?
0
56
1
for문 피라미드 찍는거 질문
0
80
1
21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.
0
384
1
3번 문제 질문 있습니다.
0
100
2
sout에는 변수가 하나만 들어가야 하나요?
0
137
1





