kotlin案例实践----一次四则运算计算器
效果
=========请输入你的表达式=========
1+11
1+11=12.0
是否继续使用(y/n)
y
=========请输入你的表达式=========
1-100
1-100=-99.0
是否继续使用(y/n)
y
=========请输入你的表达式=========
1*10
1*10=10.0
是否继续使用(y/n)
y
=========请输入你的表达式=========
1、10
error:你输入的表达式有误
是否继续使用(y/n)
1/10
=========请输入你的表达式=========
是否继续使用(y/n)
n
Process finished with exit code 255
代码
fun main() {
while (true){
println("=========请输入你的表达式=========")
val input = readLine()
try {
input?.let {
val ret = calculate(it)
println("${input}=${ret}")
println("是否继续使用(y/n)")
val cmd = readLine()
cmd?.let {
if (it == "n") {
exitProcess(-1)
} else {
}
}
}
} catch (ex: Exception) {
ex.printStackTrace()
}
}
}
fun calculate(input: String): String {
if (input.contains("+")) {
val nums = input.trim().split("+")
return operate(nums[0].toDouble(), nums[1].toDouble(), "+").toString()
} else if (input.contains("-")) {
val nums = input.trim().split("-")
return operate(nums[0].toDouble(), nums[1].toDouble(), "-").toString()
} else if (input.contains("/")) {
val nums = input.trim().split("/")
return operate(nums[0].toDouble(), nums[1].toDouble(), "/").toString()
} else if (input.contains("*")) {
val nums = input.trim().split("*")
return operate(nums[0].toDouble(), nums[1].toDouble(), "*").toString()
} else {
return "error:你输入的表达式有误"
}
}
fun operate(num: Double, num2: Double, operate: String): Double {
return when (operate) {
"+" -> num + num2
"-" -> num - num2
"/" -> num / num2
"*" -> num * num2
else -> 0.0
}
}