Bird
Raised Fist0
Kotlinprogramming~10 mins

When without argument in Kotlin - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print the correct message based on the number using a when expression without argument.

Kotlin
val number = 2
when {
    number == 1 -> println("One")
    number == [1] -> println("Two")
    else -> println("Other")
}
Drag options to blanks, or click blank then click option'
A2
B3
C0
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using a value other than 2 in the condition.
Trying to use when with argument syntax here.
2fill in blank
medium

Complete the code to print the correct message for the character using when without argument.

Kotlin
val ch = 'a'
when {
    ch.isUpperCase() -> println("Uppercase")
    ch == [1] -> println("Lowercase a")
    else -> println("Other")
}
Drag options to blanks, or click blank then click option'
A'a'
B'b'
C'z'
D'A'
Attempts:
3 left
💡 Hint
Common Mistakes
Using uppercase 'A' instead of lowercase 'a'.
Using double quotes instead of single quotes.
3fill in blank
hard

Fix the error in the when expression without argument to correctly check if the number is positive.

Kotlin
val num = -5
when {
    num [1] 0 -> println("Positive")
    num == 0 -> println("Zero")
    else -> println("Negative")
}
Drag options to blanks, or click blank then click option'
A==
B>
C<
D>=
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of >.
Using equality operator == incorrectly.
4fill in blank
hard

Fill both blanks to create a when expression without argument that prints if a number is even and positive.

Kotlin
val x = 4
when {
    x [1] 0 && x [2] 2 == 0 -> println("Even and positive")
    else -> println("Other")
}
Drag options to blanks, or click blank then click option'
A>
B==
C%
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > for positivity.
Using == instead of % for even check.
5fill in blank
hard

Fill both blanks to create a when expression without argument that prints if a string is empty, blank, or has content.

Kotlin
val text = "  "
when {
    text.[1]() -> println("Empty")
    text.[2]() -> println("Blank")
    else -> println("Has content")
}
Drag options to blanks, or click blank then click option'
AisEmpty
BisBlank
Clength
DisEmptyOrBlank
Attempts:
3 left
💡 Hint
Common Mistakes
Using length() as a function instead of property.
Confusing isEmpty() and isBlank().

Practice

(1/5)
1. What does when without argument do in Kotlin?
easy
A. It matches a value against constants only.
B. It checks boolean conditions one by one until one is true.
C. It creates a loop that runs multiple times.
D. It declares a variable with multiple types.

Solution

  1. Step 1: Understand when without argument

    When used without an argument, when evaluates each condition as a boolean expression.
  2. Step 2: Compare with other uses

    Unlike when with argument, it does not match values but checks conditions one by one.
  3. Final Answer:

    It checks boolean conditions one by one until one is true. -> Option B
  4. Quick Check:

    when without argument = boolean checks [OK]
Hint: Remember: no argument means boolean conditions checked [OK]
Common Mistakes:
  • Thinking it matches values like switch-case
  • Confusing it with loops
  • Assuming it declares variables
2. Which of the following is the correct syntax for when without argument in Kotlin?
easy
A. when { condition1 -> action1 condition2 -> action2 else -> defaultAction }
B. when(value) { 1 -> action1 2 -> action2 else -> defaultAction }
C. when (condition) { true -> action1 false -> action2 }
D. when (value) { condition1 -> action1 condition2 -> action2 }

Solution

  1. Step 1: Identify when without argument syntax

    The correct syntax omits the argument and uses boolean conditions directly inside curly braces.
  2. Step 2: Check options

    when { condition1 -> action1 condition2 -> action2 else -> defaultAction } matches this pattern with conditions and an else branch; others use an argument or incorrect structure.
  3. Final Answer:

    when { condition1 -> action1 condition2 -> action2 else -> defaultAction } -> Option A
  4. Quick Check:

    Correct syntax = when { condition1 -> action1 condition2 -> action2 else -> defaultAction } [OK]
Hint: No argument means conditions directly inside braces [OK]
Common Mistakes:
  • Adding argument inside parentheses
  • Missing else branch
  • Using values instead of conditions
3. What is the output of this Kotlin code?
val x = 10
when {
  x < 5 -> println("Less than 5")
  x in 5..10 -> println("Between 5 and 10")
  else -> println("More than 10")
}
medium
A. More than 10
B. Less than 5
C. Between 5 and 10
D. No output

Solution

  1. Step 1: Evaluate conditions in order

    First condition: x < 5 is false (10 < 5 is false). Second condition: x in 5..10 is true (10 is in 5 to 10).
  2. Step 2: Execute matching branch

    Since second condition is true, it prints "Between 5 and 10" and stops checking further.
  3. Final Answer:

    Between 5 and 10 -> Option C
  4. Quick Check:

    10 in 5..10 = true [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
  • Assuming x < 5 is true
  • Ignoring range check
  • Expecting else branch output
4. Find the error in this Kotlin code using when without argument:
val y = 3
val result = when {
  y > 5 -> println("Greater than 5")
  y < 5 -> println("Less than 5")
}
medium
A. Missing else branch for unmatched cases
B. Incorrect use of parentheses after when
C. Conditions must be constants, not expressions
D. Cannot use println inside when

Solution

  1. Step 1: Check when branches

    The code has two conditions but no else branch to handle all other cases.
  2. Step 2: Understand Kotlin requirement

    When used without argument, Kotlin requires an else branch to cover all possibilities or the compiler errors about non-exhaustive when.
  3. Final Answer:

    Missing else branch for unmatched cases -> Option A
  4. Quick Check:

    Always add else branch [OK]
Hint: Always include else branch in when without argument [OK]
Common Mistakes:
  • Ignoring else branch requirement
  • Adding parentheses after when
  • Thinking conditions must be constants
5. You want to print a message based on temperature:
val temp = 25
when {
  temp <= 0 -> println("Freezing")
  temp in 1..15 -> println("Cold")
  temp in 16..25 -> println("Warm")
  temp > 25 -> println("Hot")
  else -> println("Unknown")
}

What will be printed and why is this when usage correct?
hard
A. Compilation error due to overlapping ranges
B. "Cold"; because 25 is in 1..15 range
C. "Hot"; because 25 is greater than 25
D. "Warm"; because conditions cover all ranges with else as fallback

Solution

  1. Step 1: Check which condition matches temp = 25

    temp <= 0 is false; temp in 1..15 is false; temp in 16..25 is true (25 is included).
  2. Step 2: Confirm correctness of when usage

    All possible values are covered by conditions and else branch ensures fallback; no overlap causes error.
  3. Final Answer:

    "Warm"; because conditions cover all ranges with else as fallback -> Option D
  4. Quick Check:

    25 in 16..25 = true, else covers all [OK]
Hint: Check ranges carefully; else handles unexpected values [OK]
Common Mistakes:
  • Misreading range boundaries
  • Assuming 25 > 25 is true
  • Thinking else is optional
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