此程序是一个简单计算程序,同时简单体验kotlin异常处理。当在录入要计算的数字是,用户输入的是非数字将会抛出异常。
//此程序是一个简单计算程序
//同时简单体验kotlin异常处理
//当在录入要计算的数字是,用户输入的是非数字将会抛出异常
fun main() {
var flag:Boolean = true
tip1()
while (flag){
try {
print("请输入要执行的操作:")
var operate = readLine()
when(operate){
"+" -> {
print("请输入第一个数:")
var num1 = readLine()!!.toDouble()
print("请输入第二个数:")
var num2 = readLine()!!.toDouble()
println("你计算的结果是:${String.format("%.2f",plus(num1, num2))}")
}
"-" -> {
print("请输入第一个数:")
var num1 = readLine()!!.toDouble()
print("请输入第二个数:")
var num2 = readLine()!!.toDouble()
println("你计算的结果是:${String.format("%.2f",sub(num1, num2))}")
}
"*" -> {
print("请输入第一个数:")
var num1 = readLine()!!.toDouble()
print("请输入第二个数:")
var num2 = readLine()!!.toDouble()
println("你计算的结果是:${String.format("%.2f",multi(num1, num2))}")
}
"/" -> {
print("请输入第一个数:")
var num1 = readLine()!!.toDouble()
print("请输入第二个数:")
var num2 = readLine()!!.toDouble()
println("你计算的结果是:${String.format("%.2f",division(num1, num2))}")
}
"exit" -> flag = false
else -> println("还未录入该操作!!!")
}
}catch (e:Exception){
e.printStackTrace()
println("你的输入有误,请重新输入!!!")
}
}
}
//提示信息
fun tip1() = println("加:+ 减:- 乘:* 除:/ 退出:exit"+"\n")
//加法
fun plus(num1:Double, num2:Double):Double = num1 + num2
//减法
fun sub(num1:Double, num2:Double):Double = num1 - num2
//乘法
fun multi(num1:Double, num2:Double):Double = num1 * num2
//除法
fun division(num1:Double, num2:Double):Double = num1 / num2