Flutter 10일차 [WIL]

김동준·2025년 12월 5일

트러블슈팅

문제해결 전 (Dart기초 개인과제 2번)

List<String> carts = ["티셔츠", "바지", "모자", "티셔츠", "바지"];
  int price; 
  for (int i = 0; i < carts.length; i++) {
    String cart = carts[i];
    if (cart == "티셔츠") {
      price = 10000;
    } else if (cart == "바지") {
      price = 8000;
    } else {
      price = 4000;
    }
  }
  print("장바구니에 $price원 어치를 담으셨네요!");

문제해결

  • 배경 : 문자열 기반 데이터(cart)를 금액 데이터를 매핑하는 것까지는 완료했으나, 데이터를 누적하지 못하는 현상 발견
  • 발단 : price 로 매핑 기능만 생각하고 누적시킬 수 있는 방법은 생각하지 못함
  • 전개 : 고민하다가 튜터님에게 조언을 얻으러 감
  • 위기 : 튜터님이 price의 초기값을 0으로 두고 생각해보라고 조언해주심
  • 절정 : price의 초기값을 0으로 두고 생각해보니 +=연산자를 활용하여 price에 데이터를 누적시킬 수 있다는 것을 알아냄
  • 결말 : 간단한 연산자를 통해 데이터를 누적하는 방법에 대해 알게 됨
List<String> carts = ["티셔츠", "바지", "모자", "티셔츠", "바지"];
  int price = 0; //기존프라이스에 누적 32~36 -> priced=의 초기값을 0으로 설정하는 것으로 힌트
  for (int i = 0; i < carts.length; i++) {
    String cart = carts[i];
    if (cart == "티셔츠") {
      price += 10000;
    } else if (cart == "바지") {
      price += 8000;
    } else {
      price += 4000;
    }
  }
  print("장바구니에 $price원 어치를 담으셨네요!");

"티셔츠" : 0(price) + 100000 = 10000(price)
"바지" : 10000(price) + 8000 = 18000(price)
"모자" : 18000(price) + 4000 = 22000(price)
"티셔츠" : 22000(price) + 10000 = 32000(price)
"바지": 32000(price) + 8000 = 40000(price)

0개의 댓글