• Android-Kotlin简单计算器功能


    上一篇博客 Android-Kotlin-配置/入门 配置好了 AndroidStudio Kotlin 的环境;

    选择包名,然后右键:

    选择Class类型,会有class:

    创建CounterClass:

    package cn.kotlin.kotlin_oop02
    
    /**
     * 加减乘除计算的calss
     * var number1:Double 此Double是kotlin的
     * var operapor:Char  此Char是kotlin的
     */
    class CounterClass(var number1:Double, var operapor:Char, var number2:Double) {
    
        fun onCount() {
    
            // 注意:⚠️ 在真实开发者 只需要写if等方式判断 加减乘除就好了,我是为了使用when,所以才做了if判断,又做了when判断
            var whenFlag:Int = 0;
            if (operapor.equals('+')) {
                whenFlag = 1
            } else if (operapor.equals('-')) {
                whenFlag = 2
            } else if (operapor.equals('*')) {
                whenFlag = 3
            } else if (operapor.equals('/')) {
                whenFlag = 4;
            }
    
            /**
             * when可以理解为Java的switch,只是语法不同
             */
            var result:Double = 0.0;
    
            when(whenFlag){
                1 -> {
                    result = number1 + number2;
                }
                2 -> {
                    result = number1 - number2;
                }
                3 -> {
                    result = number1 * number2;
                }
                4 -> {
                    result = number1 / number2;
                }
                else -> {
                    println("${operapor}法运算过程中失败!")
                    return // 失败就不完下执行了,方法结束
                }
            }
            showResult(result)
        }
    
        /**
         * 此方法打印计算结果
         * 设置private私有,不给外面其他地方访问调用,资格本类中使用,这属于封装的一种体现
         */
        private fun showResult(result:Double) {
            println("${operapor}计算的结果是:${result}");
        }
    
    }

    选择包名,然后右键:

     选择File类型,不会自动有class:

     

    创建测试的main方法:

    package cn.kotlin.kotlin_oop02
    
    fun main(args: Array<String>) {
    
        //
        var c = CounterClass(9.0, '+', 9.0)
        c.onCount();
    
        //
        CounterClass(100.0, '-', 50.0).onCount()
    
        //
        CounterClass(10.0, '*', 10.0).onCount()
    
        //
        CounterClass(100.0, '/', 2.0).onCount()
    }

    执行结果:

  • 相关阅读:
    明确架构目标
    是什么浪费了我的时间
    精益求精,抑或得过且过[转]
    web界面应用的十种常见技术
    我对软件优化的一些想法
    最新31个非常棒的 Photoshop 网页设计教程
    sql2005提示工具程序
    转载:一篇深入了解.NET中栈和堆较好的文章
    推荐18个非常棒的Web和移动开发框架
    介绍一下这些工具FishAspnetLoader
  • 原文地址:https://www.cnblogs.com/android-deli/p/10309230.html
Copyright © 2020-2023  润新知