JAVA语法基础Demo练习

ATM取款机Demo小程序
JAVA基本逻辑练习小程序,非常适合初学者学完基础语法后对自己的知识进行总结时练习使用。
实现条件 1.登陆界面,2.三次登陆机会,登陆成功进入登陆菜单,3,进入菜单进行选择,实现 1,查询,2,存款,3,取款,4,修改密码,5退出,再位选择退出时可一直重复操作
以下代码仅参考

import java.util.Scanner;

//简单的ATM存取款程序 1.登陆页面 2.登陆 3.菜单:1,查询,2,存款,3,取款,4,修改密码,5退出
class Test_26 {

    public static void main(String[] args) {
        // 初始化账户信息,因为没学数据库,这里直接初始化一个账户信息
        String user = "admin";// 账户
        String pwd = "123";// 密码
        double money = 10000;// 余额
        Scanner sc = new Scanner(System.in);
        // 登陆界面
        welcome();
        // 用户密码匹配方法
        boolean b = longin(user, pwd);
        while (b == true) {
            // 登陆成功,进入操作界面
            while (true) {
                System.out.println("1.查询余额,2.存款,3.取款,4.修改密码,5.退出");
                int opt = sc.nextInt();
                switch (opt) {
                case 1:
                    // 查询余额
                    checkMoney(money);
                    decide();
                    break;
                case 2:
                    // 存款
                    money += setMoney(money);
                    decide();
                    break;
                case 3:
                    // 取款
                    money -= getMoney(money);
                    decide();
                    break;
                case 4:
                    // 修改密码,因为无数据库,直接打印当前密码查看是否修改成功
                    String str = changePwd(pwd);
                    System.out.println("当前密码为" + str);
                    decide();
                    break;
                case 5:
                    // 退出
                    System.out.println("退出成功");
                    System.exit(0);
                default:
                    System.out.println("非法操作");
                    break;
                }
            }
        }
    }

    /**
     * 欢迎界面
     */
    public static void welcome() {
        // 欢迎界面
        System.out.println("------------------------------");
        System.out.println(" ******    欢迎登陆      *******");
        System.out.println(" ******  老司机节操银行   *******");
        System.out.println(" *****           Vesion1.0****");
        System.out.println("-------------------------------");
    }

    /**
     * 创建一个方法,判断账户密码是否正确
     * 
     * @param user
     * @param pwd
     */
    public static boolean longin(String user, String pwd) {
        // 账户密码3次匹配机会,错误则吞卡
        Scanner sc = new Scanner(System.in);
        for (int i = 3; i > 0; i--) {
            System.out.println("请输入账号");
            String new_user = sc.next();
            System.out.println("请输密码");
            String new_pwd = sc.next();
            if (user.equals(new_user) && pwd.equals(new_pwd)) {
                // 登陆成功
                System.out.println("登陆成功");
                return true;
            } else {
                if (i - 1 == 0) {
                    System.out.println("密码错误3次,吞卡,请找老司机处理");
                    System.exit(0);
                }
                System.out.println("账户名或密码错误,请重新输入今日还剩余" + (i - 1) + "次机会");
            }
        }
        return false;
    }

    /**
     * 判断是否继续操作 y/n
     * 
     * @param dec
     */
    public static void decide() {
        Scanner sc = new Scanner(System.in);
        System.out.println("是否继续操作(y/n)");
        String dec = sc.next();
        if (dec.equals("y")) {
            return;
        } else if (dec.equals("n")) {
            System.out.println("退出成功");
            System.exit(0);
        } else {
            while (true) {
                System.out.println("输入错误,请重新输入 是否继续(y/n)");
                String temp = sc.next();
                if (temp.equals("y")) {
                    return;
                } else if (temp.equals("n")) {
                    System.out.println("退出成功");
                    System.exit(0);
                }
            }
        }
    }

    /**
     * 查询余额
     * 
     * @param money
     */
    public static void checkMoney(double money) {
        System.out.println("您的余额为" + money);
    }

    /**
     * 创建一个方法 存款
     * 
     * @param money
     * @return 存款金额
     */
    public static double setMoney(double money) {
        System.out.println("请输入您要存款的金额");
        Scanner sc = new Scanner(System.in);
        double addMoney = sc.nextInt();
        if (addMoney > 10000) {
            System.out.println("单次取款金额超过1万元");
            return 0;
        } else if (addMoney < 0) {
            System.out.println("存款金额错误");
            return 0;
        } else if (addMoney % 100 != 0) {
            System.out.println("请输入100的整数倍存款");
            return 0;
        } else {
            System.out.println("存款成功,当前余额为" + (money + addMoney));
            return addMoney;
        }

    }

    /**
     * 创建一个方法 取款
     * 
     * @param money
     * @return 取出金额
     */
    public static double getMoney(double money) {
        System.out.println("请输入您要取款的金额");
        Scanner sc = new Scanner(System.in);
        double subMoney = sc.nextInt();
        if (subMoney > money) {
            System.out.println("余额不足");
            return 0;
        } else if (subMoney > 3000) {
            System.out.println("单次取款金额超过3000");
            return 0;
        } else if (subMoney < 0) {
            System.out.println("取款金额错误");
            return 0;
        } else if (subMoney % 100 != 0) {
            System.out.println("请取出100的整数倍存款");
            return 0;
        } else {
            System.out.println("取款成功,当前余额为" + (money - subMoney));
            return subMoney;
        }
    }

    /**
     * 创建一个方法 修改密码
     * 
     * @param pwd
     * @return 修改成功返回新密码,失败返回旧密码
     */
    public static String changePwd(String pwd) {
        System.out.println("请输入旧密码");
        Scanner sc = new Scanner(System.in);
        String old_pwd = sc.next();
        if (old_pwd.equals(pwd)) {
            System.out.println("请输入新密码");
            String new_pwd = sc.next();
            System.out.println("请再次输入新密码");
            String new_pwd1 = sc.next();
            if (new_pwd.equals(new_pwd1)) {
                System.out.println("密码修改成功");
                return new_pwd;
            } else {
                System.out.println("两次输入密码不一致,请重新输入");
                return pwd;
            }

        } else {
            System.out.println("旧密码输入错误");
        }
        return pwd;

    }
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    X先生_未知数的X阅读 15,967评论 3 119
  • 我知道他就躲在这条小巷前方十米拐角处。 因为才刚不久,一条瘦到脱型的流浪灰毛狗经过拐点时,别起头斜起眼,朝那个点盯...
    蔡不帅阅读 563评论 7 9
  • 血糖高怎么吃?每餐美伴糖盾怎么样? 糖尿病是一种常见病,中国已经成为糖尿病大国。到2014年12月为止,我国全国已...
    yongpou9526阅读 337评论 0 0
  • 水岸江烟,邑城云宿,古巷老街金井。雕花走兽,刻木飞禽,谩想旧时风景。怀猜阁馆佳人,应傍钩阑,望穿秋岭。念欢箫夜约,...
    刘小地阅读 781评论 25 113
  • 暑假了,学校放假通知一出来,想必很多家长都等着交钱报暑假班,这完全是解放双手的最佳方式,而我呢,却是期待着放...
    莎妈笔记阅读 3,026评论 2 2