kotlin

Kotlin实现ATM取款功能

2020-07-12  本文已影响0人  爱写代码的小王子

分析

实现ATM取款,首先是用户输入密码,如果密码输入正确,则开始存取款或者进行其它操作,如果密码输入错误,则重新输入密码,逻辑简单明白,下面开始写程序。

环境

代码

全局变量

//全局变量,账户余额
var account: Int = 10000

//账户密码
var pwd: Int = 123456

//读取输入数据
var scanner = Scanner(System.`in`)

//记录能否取款
var flag: Boolean = false

欢迎界面

//欢迎界面
private fun wel() {


    println("欢迎来到ATM取款机系统")
    print("请输入密码:")
    //记录输入密码
    var input = scanner.nextInt()
    if (input.equals(pwd)) {
        //后续操作
        menu()
    } else {
        do {
            //重新输入密码
            println("密码错误")
            print("请重新输入密码:")
        } while (input != pwd)
        //后续操作
        menu()
    }

}

菜单界面

//菜单界面
private fun menu() {

    //菜单选项
    println("1.取款")
    println("2.存款")
    println("3.查询余额")
    println("4.退出")
    print("请输入你的选择:")
    //记录输入数字
    var choice: Int = scanner.nextInt()

    when (choice) {
        1 -> withDraw()
        2 -> deposit()
        3 -> getAccount()
        4 -> println("感谢您的使用,下次再见")
    }
}

取款函数

//取款功能
private fun withDraw() {
    print("请输入你的取款金额:")
    do {
        //记录取款金额
        var number = scanner.nextInt()
        //判断取款金额是否小于余额
        flag = number <= account
        if (flag) {
            println("取款成功")
            account -= number
            menu()
        } else {
            println("取款失败")
            println("请重新输入你的取款金额:")
        }
    } while (!flag)
}

存款函数

//存款功能
private fun deposit() {

        print("请输入你的存款金额:")
        //记录存款金额
        var number = scanner.nextInt()
        if (number > 0) {
            account += number
            println("存款成功")
            menu()
        } else {
            println("存款失败")
            menu()
        }

}

查询余额函数

//查询余额
private fun getAccount() {
    println("您的余额是:$account")
    menu()
}

主函数main

//ATM
fun main() {
    wel()
}

效果

image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读