用 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企业应用软件系统架构演变史

相关推荐
Pocker_Spades_A1 小时前
Python快速入门专业版(二十六):Python函数基础:定义、调用与返回值(Hello函数案例)
开发语言·python
island13141 小时前
【C++框架#5】Elasticsearch 安装和使用
开发语言·c++·elasticsearch
周周记笔记2 小时前
学习笔记:Python的起源
开发语言·python
懒大王95272 小时前
uni-app + Vue3 + EZUIKit.js 播放视频流
开发语言·javascript·uni-app
_extraordinary_2 小时前
Java 多线程进阶(四)-- 锁策略,CAS,synchronized的原理,JUC当中常见的类
java·开发语言
JasmineX-12 小时前
数据结构——顺序表(c语言笔记)
c语言·开发语言·数据结构·笔记
java搬砖工-苤-初心不变2 小时前
OpenResty 配合 Lua 脚本的使用
开发语言·lua·openresty
IT灰猫2 小时前
C++轻量级配置管理器升级版
开发语言·c++·设计模式·配置管理·ini解析
Swift社区3 小时前
如何解决 Vue2 前端项目为何无法访问本地资源(chunk.js 加载一直 pending/转圈)
开发语言·前端·javascript
大飞pkz3 小时前
【设计模式】题目小练2
开发语言·设计模式·c#·题目小练