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 isprices[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 stringresult, then print it withprintln(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)
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
