JAVA语法基础Demo练习

来源:互联网 发布:javascript读音 编辑:程序博客网 时间:2024/05/08 09:33

ATM取款机Demo小程序
一周的JAVA基础语法结束,趁着周末把之前练习过的ATM小程序独立重新做了一遍,感觉在码这个小程序的过程中,好好的把之前学过的循环语句,选择判断语句,模块化编程思想统统练习了一遍,而且也算是在基础语法学完以后用现有知识能够码出的相当长的代码量,非常适合初学者学完基础语法后对自己的知识进行总结时练习使用。
实现条件 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;    }}
0 0
原创粉丝点击