JAVA语法基础Demo练习
2016-09-05 00:45
357 查看
ATM取款机Demo小程序
JAVA基本逻辑练习小程序,非常适合初学者学完基础语法后对自己的知识进行总结时练习使用。
实现条件 1.登陆界面,2.三次登陆机会,登陆成功进入登陆菜单,3,进入菜单进行选择,实现 1,查询,2,存款,3,取款,4,修改密码,5退出,再位选择退出时可一直重复操作
以下代码仅参考
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; } }
相关文章推荐
- JAVA学习之基础语法练习--彩票(二)
- java基础语法练习--汉诺塔问题
- Java语法基础之for语句练习
- java基础语法练习--输入一串字符统计各字符数目
- Java语法基础之for语句练习
- java基础语法练习--求出两数的最大公约数和最小公倍数
- 07_Java基础语法_第7天(练习)
- OC语法基础简单代码练习Demo
- java基础语法练习--输入年月日确定星期几
- Java语法基础之语句—for练习
- 1.java基础语法易忘点
- java基础学习篇——2、java语言的一些基本语法
- java入门(2)--基础语法
- java入门(2)--基础语法
- 1.java基础语法易忘点
- java基础知识记录--基本语法 (摘自张孝祥整理java面试题)
- Java基础语法-重写与覆盖
- java基础语法--数据类型
- Java基础语法
- Java培训笔记十一(自己总结的Java语法基础)