Bird
Raised Fist0
Kotlinprogramming~20 mins

While and do-while loops in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Loop Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a while loop with decrement
What is the output of this Kotlin code snippet?
Kotlin
var x = 3
while (x > 0) {
    print(x)
    x--
}
A123
B321
C3
D0
Attempts:
2 left
💡 Hint
Remember that the loop runs while x is greater than zero and x decreases each time.
❓ Predict Output
intermediate
2:00remaining
Output of a do-while loop with increment
What will this Kotlin code print?
Kotlin
var count = 0
do {
    print(count)
    count += 2
} while (count < 5)
A024
B0246
C02
D0
Attempts:
2 left
💡 Hint
The loop runs at least once and increments count by 2 each time.
🔧 Debug
advanced
2:00remaining
Identify the error in this while loop
What error does this Kotlin code produce?
Kotlin
var i = 0
while (i < 3) {
    println(i)
}
AInfinite loop (no increment of i)
BSyntax error: missing parentheses
CType error: i is not an integer
DNo error, prints 0 1 2
Attempts:
2 left
💡 Hint
Check if the loop variable changes inside the loop.
❓ Predict Output
advanced
2:00remaining
Output of nested while and do-while loops
What is the output of this Kotlin code?
Kotlin
var a = 1
while (a <= 2) {
    var b = 1
    do {
        print(a * b)
        b++
    } while (b <= 2)
    a++
}
A124
B1122
C1224
D2244
Attempts:
2 left
💡 Hint
The outer loop runs twice, and the inner loop runs twice each time.
🧠 Conceptual
expert
2:00remaining
Difference between while and do-while loops
Which statement correctly describes the difference between while and do-while loops in Kotlin?
AWhile loops can only count up; do-while loops can only count down.
BA while loop runs the body once before checking the condition; a do-while loop checks the condition first.
CBoth loops check the condition before running the body, but do-while loops run faster.
DA while loop checks the condition before running the loop body; a do-while loop runs the body once before checking the condition.
Attempts:
2 left
💡 Hint
Think about when the condition is checked in each loop type.

Practice

(1/5)
1. What is the main difference between a while loop and a do-while loop in Kotlin?
easy
A. while loops are faster than do-while loops.
B. while runs code once before checking; do-while checks the condition before running code.
C. while checks the condition before running the code; do-while runs code once before checking.
D. while loops only run once; do-while loops run multiple times.

Solution

  1. Step 1: Understand while loop behavior

    A while loop checks its condition before running the code inside it, so if the condition is false initially, the code inside won't run at all.
  2. Step 2: Understand do-while loop behavior

    A do-while loop runs the code inside once first, then checks the condition to decide if it should repeat.
  3. Final Answer:

    while checks the condition before running the code; do-while runs code once before checking. -> Option C
  4. Quick Check:

    Loop condition check timing = while checks the condition before running the code; do-while runs code once before checking. [OK]
Hint: Remember: do-while runs code once before condition check [OK]
Common Mistakes:
  • Thinking both loops check condition before running code
  • Confusing which loop runs code first
  • Assuming do-while runs only once
2. Which of the following is the correct syntax for a do-while loop in Kotlin?
easy
A. do { /* code */ } while (condition)
B. while (condition) { /* code */ } do
C. do (condition) { /* code */ } while
D. while { /* code */ } do (condition)

Solution

  1. Step 1: Recall correct do-while syntax

    The do-while loop syntax starts with do, then the code block in braces, followed by while with the condition in parentheses.
  2. Step 2: Compare options to syntax

    do { /* code */ } while (condition) matches the correct syntax exactly: do { /* code */ } while (condition). Others have wrong order or misplaced keywords.
  3. Final Answer:

    do { /* code */ } while (condition) -> Option A
  4. Quick Check:

    Syntax order for do-while = do { /* code */ } while (condition) [OK]
Hint: Remember: do { } while(condition) is the correct order [OK]
Common Mistakes:
  • Placing while before do
  • Using parentheses incorrectly
  • Mixing up braces and parentheses
3. What will be the output of this Kotlin code?
var count = 3
while (count > 0) {
    println(count)
    count--
}
medium
A. 3 2 1
B. 1 2 3
C. 3 2 1 0
D. 0 1 2 3

Solution

  1. Step 1: Analyze initial value and condition

    The variable count starts at 3. The loop runs while count > 0, so it runs for 3, 2, and 1.
  2. Step 2: Trace each iteration and output

    Each loop prints the current count then decreases it by 1. So it prints 3, then 2, then 1, then stops before printing 0.
  3. Final Answer:

    3 2 1 -> Option A
  4. Quick Check:

    Loop prints count down from 3 to 1 = 3 2 1 [OK]
Hint: Count down loops print from start to 1, not zero [OK]
Common Mistakes:
  • Including 0 in output
  • Printing in ascending order
  • Not decrementing count
4. Identify the error in this Kotlin code snippet:
var i = 1
do {
    println(i)
    i++
} while i <= 3
medium
A. Missing braces around the do block
B. Incorrect use of do keyword
C. Variable i should be declared inside the loop
D. Missing parentheses around the while condition

Solution

  1. Step 1: Check do-while syntax

    The while condition must be inside parentheses after the while keyword.
  2. Step 2: Identify the error in the code

    The code has while i <= 3 without parentheses. It should be while (i <= 3).
  3. Final Answer:

    Missing parentheses around the while condition -> Option D
  4. Quick Check:

    Parentheses required for while condition = Missing parentheses around the while condition [OK]
Hint: Always put condition in parentheses after while [OK]
Common Mistakes:
  • Omitting parentheses in while condition
  • Placing variable declaration inside loop unnecessarily
  • Confusing braces and parentheses
5. You want to write a Kotlin program that asks the user to enter a positive number and keeps asking until the user enters a number greater than zero. Which loop should you use and why?
hard
A. Use a while loop because it checks the condition before asking the user.
B. Use a do-while loop because it asks the user at least once before checking the condition.
C. Use a while loop because it runs the code at least once.
D. Use a do-while loop because it never checks the condition.

Solution

  1. Step 1: Understand the problem requirement

    The program must ask the user at least once to enter a number, then repeat if the number is not positive.
  2. Step 2: Choose the correct loop type

    A do-while loop runs the code block once before checking the condition, so it ensures the user is asked at least once.
  3. Final Answer:

    Use a do-while loop because it asks the user at least once before checking the condition. -> Option B
  4. Quick Check:

    Ask user once then check = do-while loop = Use a do-while loop because it asks the user at least once before checking the condition. [OK]
Hint: Use do-while to run code once before condition check [OK]
Common Mistakes:
  • Choosing while loop which may skip asking once
  • Thinking do-while never checks condition
  • Confusing loop behavior with input requirements
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard