Menu
Coddy logo textTech

Nested Switch Statements

Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 11번째.

중첩된 switch 문은 더 복잡한 의사 결정을 위해 하나의 switch 문을 다른 switch 문 안에 배치할 수 있게 합니다.

기본 중첩 switch 만들기:

string department = "Sales";
string level = "Senior";

switch (department)
{
    case "Sales":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("Sales Junior");
                break;
            case "Senior":
                Console.WriteLine("Sales Senior");
                break;
        }
        break;
    case "IT":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("IT Junior");
                break;
            case "Senior":
                Console.WriteLine("IT Senior");
                break;
        }
        break;
}

다음 case로의 fall-through를 방지하기 위해 항상 break 문을 포함하세요.

코드를 읽기 쉽게 하기 위해 적절한 들여쓰기를 유지하세요.

challenge icon

챌린지

중급

calculatePrice라는 메서드를 생성하세요:

  1. 세 개의 매개변수를 받습니다:
    • productType (string): "Electronics", "Clothing", 또는 "Food" 중 하나
    • productTier (string): "Basic", "Premium", 또는 "Luxury" 중 하나
    • basePrice (int): 제품의 기본 가격
  2. 다음 규칙을 적용한 후 최종 가격 (int)을 반환합니다:
    • Electronics의 경우:
      • Basic: 기본 가격에 $50 추가
      • Premium: 기본 가격에 $100 추가
      • Luxury: 기본 가격에 $250 추가
    • Clothing의 경우:
      • Basic: 기본 가격에 $10 추가
      • Premium: 기본 가격에 $50 추가
      • Luxury: 기본 가격에 $100 추가
    • Food의 경우:
      • Basic: 기본 가격 변경 없음
      • Premium: 기본 가격에 $15 추가
      • Luxury: 기본 가격에 $30 추가
    • 기타 제품 유형이나 등급의 경우, 기본 가격을 변경하지 않고 반환

치트 시트

중첩된 switch 문은 복잡한 의사 결정을 위해 하나의 switch 문을 다른 switch 문 안에 배치할 수 있게 합니다:

string department = "Sales";
string level = "Senior";

switch (department)
{
    case "Sales":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("Sales Junior");
                break;
            case "Senior":
                Console.WriteLine("Sales Senior");
                break;
        }
        break;
    case "IT":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("IT Junior");
                break;
            case "Senior":
                Console.WriteLine("IT Senior");
                break;
        }
        break;
}

다음 case로의 fall-through를 방지하고 가독성을 위해 적절한 들여쓰기를 유지하기 위해 break 문을 항상 포함하세요.

직접 해보기

public class CalculatePrice
{
    // calculatePrice 메서드를 구현하세요
    public static int calculatePrice(string productType, string productTier, int basePrice)
    {
        // 여기에 코드를 작성하세요
        
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 및 흐름의 모든 레슨