Chapter 4 - Section 8
fun main(args: Array<String>) {
try {
print("Number 1: ")
val string1: String? = readLine()
val number1 = string1!!.toDouble()
print("Number 2: ")
val string2 = readLine()
val number2 = string2!!.toDouble()
print("Select an operation (+ - / *): ")
val operation = readLine()
val result: Double? =
when (operation) {
"+" -> addValues(number1, number2)
"-" -> subtractValues(number1, number2)
"*" -> multiplyValues(number1, number2)
"/" -> divideValues(number1, number2)
else -> throw Exception("Unknown operation")
}
println("The answer is $result")
} catch (e: NumberFormatException) {
println("${e.message} is not a number")
} catch (e: Exception) {
println(e.message)
}
}
fun multiplyValues(number1: Double, number2: Double) = number1 * number2
fun divideValues(number1: Double, number2: Double) = number1 / number2
fun subtractValues(number1: Double, number2: Double) = number1 - number2
fun addValues(number1: Double, number2: Double) = number1 + number2