0
0
Kotlinprogramming~20 mins

Parameters with default values in Kotlin - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Master of Default Parameters in Kotlin
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of function with default parameters
What is the output of this Kotlin code?
Kotlin
fun greet(name: String = "Guest", greeting: String = "Hello") {
    println("$greeting, $name!")
}

greet()
greet("Alice")
greet(greeting = "Hi")
A
Hello, Guest!
Hello, Alice!
Hello, Guest!
B
Hi, Guest!
Hello, Alice!
Hi, Guest!
C
Hello, Guest!
Hi, Alice!
Hi, Guest!
D
Hello, Guest!
Hello, Alice!
Hi, Guest!
Attempts:
2 left
💡 Hint
Remember that default parameters are used when no argument is provided for that parameter.
Predict Output
intermediate
2:00remaining
Function call with mixed default and explicit parameters
What will this Kotlin code print?
Kotlin
fun calculate(price: Int, tax: Double = 0.1, discount: Double = 0.0): Double {
    return price * (1 + tax) * (1 - discount)
}

println(calculate(100))
println(calculate(100, discount = 0.2))
println(calculate(100, 0.2))
A
110.0
88.0
120.0
B
110.0
80.0
100.0
C
110.0
80.0
120.0
D
110.0
88.0
100.0
Attempts:
2 left
💡 Hint
Check which parameters are passed explicitly and which use default values.
🔧 Debug
advanced
2:00remaining
Identify the error in default parameter usage
This Kotlin function has a problem. What error will it cause?
Kotlin
fun printMessage(message: String = "Hello", times: Int) {
    repeat(times) {
        println(message)
    }
}

printMessage(times = 3)
APrints "Hello" three times
BRuntime error: times is null
CCompilation error: Non-default parameter 'times' cannot follow default parameter 'message'
DCompilation error: Missing argument for parameter 'times'
Attempts:
2 left
💡 Hint
In Kotlin, parameters with default values must be declared after parameters without default values.
Predict Output
advanced
2:00remaining
Output with multiple default parameters and named arguments
What is the output of this Kotlin code?
Kotlin
fun describe(color: String = "red", shape: String = "circle", size: Int = 5) {
    println("$size $color $shape")
}

describe()
describe(shape = "square")
describe(size = 10, color = "blue")
A
5 red circle
5 square red
10 blue circle
B
5 red circle
5 red square
10 blue circle
C
5 red circle
square 5 red
10 blue circle
D
5 red circle
5 red square
5 blue circle
Attempts:
2 left
💡 Hint
Named arguments let you skip parameters and specify only some values.
🧠 Conceptual
expert
3:00remaining
Behavior of default parameters with inheritance
Consider these Kotlin classes: class Base { open fun greet(name: String = "Guest") { println("Hello, $name") } } class Derived : Base() { override fun greet(name: String) { println("Hi, $name") } } val obj: Base = Derived() obj.greet()
AHi, Guest
BRuntime error: No default argument found
CCompilation error: Default parameter missing in override
DHello, Guest
Attempts:
2 left
💡 Hint
Default parameter values are resolved at compile time based on the reference type.