📖 Scenario: You are helping a small shop owner calculate prices and discounts for products.
🎯 Goal: Build a Kotlin program that uses arithmetic operators to calculate the total price after discount and tax.
📋 What You'll Learn
Create variables for product price and discount percentage
Create a variable for tax rate
Calculate the discounted price using subtraction and multiplication
Calculate the final price by adding tax
Print the final price
💡 Why This Matters
🌍 Real World
Calculating prices with discounts and taxes is common in shopping and billing systems.
💼 Career
Understanding arithmetic operators is essential for any programming job that involves calculations or data processing.
Progress0 / 4 steps
1
Create product price and discount variables
Create a Double variable called productPrice and set it to 100.0. Create another Double variable called discountPercent and set it to 15.0.
Kotlin
Hint
Use val to create variables and assign the exact values given.
2
Add tax rate variable
Add a Double variable called taxRate and set it to 8.0 to represent 8% tax.
Kotlin
Hint
Remember to use val and assign the exact value 8.0.
3
Calculate discounted price and final price
Create a Double variable called discountedPrice that calculates the price after discount using subtraction and multiplication. Then create a Double variable called finalPrice that adds tax to the discounted price using multiplication and addition.
Kotlin
Hint
Use arithmetic operators -, *, /, and + to calculate prices.
4
Print the final price
Write a println statement to display the finalPrice variable.
Kotlin
Hint
Use println(finalPrice) to show the result.
Practice
(1/5)
1. Which arithmetic operator in Kotlin is used to find the remainder of a division?
easy
A. The / operator
B. The % operator
C. The * operator
D. The - operator
Solution
Step 1: Understand the meaning of each operator
The % operator gives the remainder after division, / divides, * multiplies, and - subtracts.
Step 2: Identify the operator for remainder
The % operator is specifically for remainder calculation in Kotlin.
Final Answer:
The % operator -> Option B
Quick Check:
Remainder operator = % [OK]
Hint: Remember % means remainder in math and Kotlin [OK]
Common Mistakes:
Confusing / with %, thinking / gives remainder
Using * or - for remainder
Mixing up operators with similar symbols
2. Which of the following is the correct way to write a multiplication operation in Kotlin?
easy
A. val result = 5 x 3
B. val result = 5 . 3
C. val result = 5 / 3
D. val result = 5 * 3
Solution
Step 1: Recall Kotlin syntax for multiplication
Kotlin uses * for multiplication, not x or dot.
Step 2: Check each option
val result = 5 * 3 uses * correctly; others are invalid syntax or different operations.
Final Answer:
val result = 5 * 3 -> Option D
Quick Check:
Multiplication operator = * [OK]
Hint: Use * for multiplication, not x or dot [OK]
Common Mistakes:
Using x instead of *
Using dot for multiplication
Confusing division / with multiplication
3. What is the output of the following Kotlin code?
val a = 10
val b = 3
println(a / b)
medium
A. 3
B. 3.3333333
C. 3.0
D. Error
Solution
Step 1: Identify variable types and operation
a and b are integers, so a / b does integer division.
Step 2: Calculate integer division result
10 divided by 3 is 3.333..., but integer division drops decimals, so result is 3.
Final Answer:
3 -> Option A
Quick Check:
Integer division drops decimals = 3 [OK]
Hint: Integer division drops decimals; result is integer [OK]
Common Mistakes:
Expecting decimal result with integer division
Confusing / with floating-point division
Thinking output is 3.0 or error
4. The following Kotlin code has an error. What is the problem?
val x = 7
val y = 2
val result = x / y.toDouble()
println(result)
medium
A. Cannot call toDouble() on y
B. Division operator / cannot mix Int and Double
C. No error, code runs and prints 3.5
D. Missing explicit type declaration for result
Solution
Step 1: Analyze the types involved in division
y.toDouble() converts y to Double, so x / y.toDouble() divides Int by Double.
Step 2: Check Kotlin's handling of mixed numeric types
Kotlin automatically converts Int to Double for mixed operations, so no error occurs.
Final Answer:
No error, code runs and prints 3.5 -> Option C
Quick Check:
Mixed Int/Double division allowed = 3.5 [OK]
Hint: Kotlin auto-converts Int to Double in mixed division [OK]
Common Mistakes:
Thinking toDouble() causes error
Believing mixed types cause syntax error
Expecting need for explicit type declaration
5. You want to calculate the average of three large integer scores (e.g., 1000000000 each) in Kotlin and get a precise decimal result. Which code snippet correctly does this?
hard
A. val avg = (score1.toDouble() + score2.toDouble() + score3.toDouble()) / 3
B. val avg = (score1 + score2 + score3) / 3.0
C. val avg = (score1 + score2 + score3).toDouble() / 3
D. val avg = (score1 + score2 + score3) / 3
Solution
Step 1: Understand integer division problem
Dividing integers by integer 3 causes integer division, losing decimals.
Step 2: Convert all scores to Double before division
Converting each score to Double ensures floating-point division and precise average.
Step 3: Check each option
val avg = (score1.toDouble() + score2.toDouble() + score3.toDouble()) / 3 converts all scores to Double before adding and dividing, giving correct decimal average.
Final Answer:
val avg = (score1.toDouble() + score2.toDouble() + score3.toDouble()) / 3 -> Option A
Quick Check:
Convert all to Double before division for decimal average [OK]
Hint: Convert all integers to Double before dividing for decimals [OK]