美文网首页
Kevin Learn Kotlin:案例(一)四则运算

Kevin Learn Kotlin:案例(一)四则运算

作者: Kevin_小飞象 | 来源:发表于2021-12-06 09:12 被阅读0次
    每日一图.jpg

    效果图

    19.png

    代码

    /**
     * Created on 2021/11/26 13:48
     *
     * @author Gong Youqiang
     */
    // 四则运算表达式计算器
    fun main() {
        while (true) {
            println("=======请输入表达式=======")
            val input = readLine()
            try {
                input?.let {
                    val result = calculate(it)
                    println("$input = $result")
                    println("是否继续使用(y/n)")
                    val cmd = readLine()
                    cmd?.let {
                        if (it == "n"){
                            exitProcess(-1)
                        }else {
                            // 继续使用
                        }
                    }
                }
            }catch (e : Exception) {
                e.printStackTrace()
            }
        }
    }
    
    fun calculate(input: String): String {
        when {
            input.contains("+") -> {
                val nums = input.trim().split("+")
                return operate(nums[0].toDouble(),nums[1].toDouble(),"+").toString()
            }
            input.contains("-") -> {
                val nums = input.trim().split("-")
                return operate(nums[0].toDouble(),nums[1].toDouble(),"-").toString()
            }
            input.contains("*") -> {
                val nums = input.trim().split("*")
                return operate(nums[0].toDouble(),nums[1].toDouble(),"*").toString()
            }
            input.contains("/") -> {
                val nums = input.trim().split("/")
                return operate(nums[0].toDouble(),nums[1].toDouble(),"/").toString()
            }
            else -> {
                println("您输入的表达式有误")
                return "input error"
            }
        }
    }
    
    fun operate(nums: Double, nums2: Double,operate:String): Double {
        return when(operate){
            "+" -> nums + nums2
            "-" -> nums - nums2
            "*" -> nums * nums2
            "/" -> nums / nums2
            else -> 0.0
        }
    }
    

    相关文章

      网友评论

          本文标题:Kevin Learn Kotlin:案例(一)四则运算

          本文链接:https://www.haomeiwen.com/subject/ylfqxrtx.html