package com.bigen.test
/**
* Created by jeffeng on 2018-5-25.
*/
fun main(args: Array<String>) {
loop@ while (true) {
println("=======输入计数表达式==========")
//进行表达式输入
var _input = readLine()
try {
//得到表达式的计算结果
var _result = result(_input!!)
println("${_input}=${_result}")
println("是否继续使用(y/n)")
var _go = readLine()
when (_go) {
"n" -> System.exit(-1) //退出程序
else -> continue@loop
}
} catch (e: NumberFormatException) {
println("ERROR:您输入的表达式有误")
}
}
}
fun result(exp: String): String {
when {
exp.contains("+") -> {
return Calculator(exp.trim().split("+")[0].toDouble(), exp.trim().split("+")[1].toDouble(), "+").toString()
}
exp.contains("-") -> {
return Calculator(exp.trim().split("-")[0].toDouble(), exp.trim().split("-")[1].toDouble(), "-").toString()
}
exp.contains("*") -> {
return Calculator(exp.trim().split("*")[0].toDouble(), exp.trim().split("*")[1].toDouble(), "*").toString()
}
exp.contains("/") -> {
return Calculator(exp.trim().split("/")[0].toDouble(), exp.trim().split("/")[1].toDouble(), "/").toString()
}
else -> return "ERROR:您输入的表达式有误"
}
}
var Calculator = fun(x: Double, y: Double, operater: String): Double {
when (operater) {
"+" -> return x + y
"-" -> return x - y
"*" -> return x * y
"/" -> return x / y
else -> return 0.0
}
}
输入类似的表达式:例如计算加法,输入1+2 然后回车,除法1/2以此类推
=======输入计数表达式==========
1+2
1+2=3.0
是否继续使用(y/n)
y
=======输入计数表达式==========
1-2
1-2=-1.0
是否继续使用(y/n)
y
=======输入计数表达式==========
1*2
1*2=2.0
是否继续使用(y/n)
y
=======输入计数表达式==========
1/2
1/2=0.5
是否继续使用(y/n)
y
=======输入计数表达式==========
1rrt4
1rrt4=ERROR:您输入的表达式有误
是否继续使用(y/n)
y
=======输入计数表达式==========
1+++5
ERROR:您输入的表达式有误
=======输入计数表达式==========