Bird
0
0

What will be printed?

hard📝 Application Q8 of 15
Kotlin - Control Flow as Expressions
Given a list of mixed types val items: List = listOf(3, "Hi", 7, "Bye", 10), write a Kotlin when expression inside a loop to print "Number in range" if the item is an Int in 1..5, "Number out of range" if Int but not in 1..5, and "Text found" if the item is a String. What will be printed?
A"Text found", "Number in range", "Text found", "Number out of range", "Number in range"
B"Number in range", "Text found", "Number out of range", "Text found", "Number out of range"
C"Number in range", "Text found", "Number in range", "Text found", "Number out of range"
D"Number out of range", "Text found", "Number in range", "Text found", "Number in range"
Step-by-Step Solution
Solution:
  1. Step 1: Analyze each item and apply conditions

    3 is Int in 1..5 -> "Number in range"; "Hi" is String -> "Text found"; 7 is Int not in 1..5 -> "Number out of range"; "Bye" is String -> "Text found"; 10 is Int not in 1..5 -> "Number out of range".
  2. Step 2: List outputs in order

    Outputs are: "Number in range", "Text found", "Number out of range", "Text found", "Number out of range".
  3. Final Answer:

    "Number in range", "Text found", "Number out of range", "Text found", "Number out of range" -> Option B
  4. Quick Check:

    Check type and range per item in loop = D [OK]
Quick Trick: Check type first, then range inside when branches [OK]
Common Mistakes:
MISTAKES
  • Mixing up range boundaries
  • Ignoring type before range check
  • Misordering output sequence

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Kotlin Quizzes