用 Kotlin 编写四则运算计算器:从零开始的简单教程

人不走空

🌈个人主页:人不走空****

💖系列专栏:算法专题****

**⏰诗词歌赋:**斯是陋室,惟吾德馨

目录

🌈个人主页:人不走空

💖系列专栏:算法专题

⏰诗词歌赋:斯是陋室,惟吾德馨

[为什么选择 Kotlin?](#为什么选择 Kotlin?)

[需求分析 📝](#需求分析 📝)

[实现步骤 🚀](#实现步骤 🚀)

[1. 设置输入循环](#1. 设置输入循环)

[2. 输入第一个数字](#2. 输入第一个数字)

[3. 输入运算符](#3. 输入运算符)

[4. 输入第二个数字](#4. 输入第二个数字)

[5. 执行计算并显示结果](#5. 执行计算并显示结果)

[完整代码 🌟](#完整代码 🌟)

[小结 ✨](#小结 ✨)

作者其他作品:


在现代编程中,掌握一门编程语言的基础知识至关重要。今天我们将通过一个简单的项目------编写一个四则运算计算器,来学习和实践 Kotlin 语言的基础。这个项目不仅适合初学者,还可以帮助你巩固对 Kotlin 基本语法的理解。准备好了吗?让我们开始吧!

为什么选择 Kotlin?

Kotlin 是一种现代、简洁且强大的编程语言,兼容 Java,并在 Android 开发中广泛使用。其简洁的语法和丰富的功能使得它成为开发各种应用程序的理想选择。从简单的计算器程序入手,可以帮助你快速上手 Kotlin。

需求分析 📝

我们要实现的计算器需要具备以下功能:

  1. 提示用户输入第一个数字。
  2. 提示用户输入运算符(+、-、*、/)。
  3. 提示用户输入第二个数字。
  4. 根据用户输入的运算符,进行相应的四则运算。
  5. 显示计算结果。
实现步骤 🚀

让我们一步一步来实现这个计算器。

1. 设置输入循环

首先,我们需要一个循环来不断接受用户的输入,这样用户可以进行多次计算。

Kotlin 复制代码
fun main() {
    while (true) {
        // 后续代码将在这里编写
    }
}
2. 输入第一个数字

提示用户输入第一个数字,并将其转换为 Double 类型。如果输入无效,提示重新输入。

Kotlin 复制代码
print("请输入第一个数字: ")
val num1 = readLine()?.toDoubleOrNull()
if (num1 == null) {
    println("输入无效,请输入一个数字。")
    continue
}
3. 输入运算符

提示用户输入运算符,并验证输入是否合法。

Kotlin 复制代码
print("请输入运算符 (+, -, *, /): ")
val operator = readLine()
if (operator != "+" && operator != "-" && operator != "*" && operator != "/") {
    println("输入无效,请输入一个有效的运算符。")
    continue
}
4. 输入第二个数字

提示用户输入第二个数字,并将其转换为 Double 类型。如果输入无效,提示重新输入。

Kotlin 复制代码
print("请输入第二个数字: ")
val num2 = readLine()?.toDoubleOrNull()
if (num2 == null) {
    println("输入无效,请输入一个数字。")
    continue
}
5. 执行计算并显示结果

根据用户输入的运算符,使用 when 表达式进行相应的运算,并显示结果。如果遇到除数为 0 的情况,提示错误信息。

Kotlin 复制代码
val result = when (operator) {
    "+" -> num1 + num2
    "-" -> num1 - num2
    "*" -> num1 * num2
    "/" -> if (num2 != 0.0) num1 / num2 else {
        println("错误: 除数不能为0")
        continue
    }
    else -> null
}

if (result != null) {
    println("结果: $num1 $operator $num2 = $result")
} else {
    println("无效的运算。")
}
完整代码 🌟

将上述各部分代码组合在一起,我们就得到了一个完整的四则运算计算器程序:

Kotlin 复制代码
fun main() {
    while (true) {
        print("请输入第一个数字: ")
        val num1 = readLine()?.toDoubleOrNull()
        if (num1 == null) {
            println("输入无效,请输入一个数字。")
            continue
        }

        print("请输入运算符 (+, -, *, /): ")
        val operator = readLine()
        if (operator != "+" && operator != "-" && operator != "*" && operator != "/") {
            println("输入无效,请输入一个有效的运算符。")
            continue
        }

        print("请输入第二个数字: ")
        val num2 = readLine()?.toDoubleOrNull()
        if (num2 == null) {
            println("输入无效,请输入一个数字。")
            continue
        }

        val result = when (operator) {
            "+" -> num1 + num2
            "-" -> num1 - num2
            "*" -> num1 * num2
            "/" -> if (num2 != 0.0) num1 / num2 else {
                println("错误: 除数不能为0")
                continue
            }
            else -> null
        }

        if (result != null) {
            println("结果: $num1 $operator $num2 = $result")
        } else {
            println("无效的运算。")
        }
    }
}
小结 ✨

通过这个项目,我们学习了如何在 Kotlin 中处理用户输入、进行基本的算术运算、使用 when 表达式进行条件判断,以及如何使用循环来实现连续的用户交互。这些都是 Kotlin 编程的基本技巧,掌握这些技巧将为你进一步学习和开发打下坚实的基础。

你还在等什么?快打开你的 Kotlin 编译器,试试这个简单而有趣的项目吧!如果你在过程中遇到任何问题,欢迎在评论区留言,我们一起探讨解决。Happy coding! 🎉


作者其他作品:

【Java】Spring循环依赖:原因与解决方法

OpenAI Sora来了,视频生成领域的GPT-4时代来了

[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读

【Java】深入理解Java中的static关键字

[Java·算法·简单] LeetCode 28. 找出字a符串中第一个匹配项的下标 详细解读

了解 Java 中的 AtomicInteger 类

算法题 --- 整数转二进制,查找其中1的数量

深入理解MySQL事务特性:保证数据完整性与一致性

Java企业应用软件系统架构演变史

相关推荐
孤独得猿20 分钟前
Qt常用控件第一部分
服务器·开发语言·qt
慕斯策划一场流浪25 分钟前
fastGPT—nextjs—mongoose—团队管理之团队列表api接口实现
开发语言·前端·javascript·fastgpt env文件配置·fastgpt团队列表接口实现·fastgpt团队切换api·fastgpt团队切换逻辑
时光呢36 分钟前
JAVA常见的 JVM 参数及其典型默认值
java·开发语言·jvm
橙橙子23037 分钟前
c++柔性数组、友元、类模版
开发语言·c++·柔性数组
程序媛学姐44 分钟前
SpringKafka错误处理:重试机制与死信队列
java·开发语言·spring·kafka
2401_840192271 小时前
如何学习一门计算机技术
开发语言·git·python·devops
巷北夜未央1 小时前
Python每日一题(14)
开发语言·python·算法
前行的小黑炭1 小时前
Android从传统的XML转到Compose的变化:mutableStateOf、MutableStateFlow;有的使用by有的使用by remember
android·kotlin
雾月552 小时前
LeetCode 914 卡牌分组
java·开发语言·算法·leetcode·职场和发展
Y.O.U..2 小时前
今日八股——C++
开发语言·c++·面试