Kevin Learn Kotlin:案例四则运算

Posted Kevin_小飞象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kevin Learn Kotlin:案例四则运算相关的知识,希望对你有一定的参考价值。

效果图

代码

/**
 * 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:案例四则运算的主要内容,如果未能解决你的问题,请参考以下文章

Kevin Learn Kotlin:委托

Kevin Learn Kotlin-->Kotlin 知识梳理

Kevin Learn Kotlin:泛型

Kevin Learn Kotlin-->Kotlin 学习资料

Kevin Learn Kotlin:类对象和接口

Kevin Learn Kotlin:Java & Kotlin