Start learning free

LESSON 165 OF 414 · PROJECTS: EVERYDAY PROGRAMS

Shopping Cart V4 - Cart Sum in Scala

Practice

Use a for loop over parallel arrays to compute a running total across several items.

You start with:

        val items = Array("Shirt", "Pants", "Shoes", "Hat")
        val prices = Array(25, 40, 60, 15)
        val quantities = Array(2, 1, 1, 3)

Build:

Shirt x2: $50
Pants x1: $40
Shoes x1: $60
Hat x3: $45
Total: $195

Rules:

  • For each index i, the item's subtotal is prices[i] * quantities[i].
  • Build one line per item, in order, in the format "Name xQ: $subtotal" (e.g. "Shirt x2: $50").
  • Add every subtotal to a running total.
  • Finish with a "Total: $..." line.
  • Join all the lines with a newline "\n" into one string result, then print it with println(result).

Use val lines = scala.collection.mutable.ArrayBuffer[String]() and var total = 0 before the loop, then add each formatted line with +=.

Call lines.mkString("\n") at the end.

        val items = Array("Shirt", "Pants", "Shoes", "Hat")
        val prices = Array(25, 40, 60, 15)
        val quantities = Array(2, 1, 1, 3)

        val lines = scala.collection.mutable.ArrayBuffer[String]()
        var total = 0
        for (i <- items.indices) {
            val sub = prices(i) * quantities(i)
            total = total + sub
            lines.append(items(i) + " x" + quantities(i) + ": $" + sub)
        }
        lines.append("Total: $" + total)
        val result = lines.mkString("\n")
        println(result)

STEP 1 OF 9
    Ctrl + Enter to check

    Shopping Cart V4 in Scala

    Keep going with ScalaAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free