java方法实现简易ATM功能
程序员文章站
2022-06-27 09:53:54
用java方法写简易atm,供大家参考,具体内容如下本文需求:用java写一个简易atm功能:有登陆,有查询资金功能,有存款功能,有取款功能,有转账功能,有退出;简述: (java方法)类似于java...
用java方法写简易atm,供大家参考,具体内容如下
本文需求:用java写一个简易atm
功能:有登陆,有查询资金功能,有存款功能,有取款功能,有转账功能,有退出;
简述: (java方法)类似于javascript中的函数,用于封装一些代码,以便代码的复用;
技术需求:方法
效果如下:
代码如下:
package com.atm; import java.util.scanner; /** * * @author 小zz *创建时间2019年5月9日下午4:13:10 *@version 1.0 */ public class atm { /**注:cardnos为卡号,passwords为对应的密码 * usernames为对应的用户名,moneys为对应的余额 * time用于限制输入账号和密码的次数 * userindex(下标)若为10则表示登陆失败,用于判断输入的账号是数组中的第几个,便于接下来的操作 */ public scanner scanner = new scanner(system.in); public string[] cardnos= {"123","456","111"}; public string[] passwords= {"112","223","121"}; public string[] usernames= {"小张","小小","张晓"}; public double[] moneys = {1000,2000,3000}; public int userindex = 10; public int time=3; /**主程序*/ public static void main(string[] args) { atm atm = new atm(); /**执行启动atm */ atm.atmrun(); } /**启动atm */ public void atmrun() { while(time>0) { system.out.println("请输入卡号:"); string cardno = scanner.nextline(); system.out.println("请输入密码:"); string pwd = scanner.nextline(); /**执行登录*/ int userindex= this.login(cardno, pwd); /**判断是否登陆成功*/ if(userindex!=10) { /**执行功能菜单*/ this.showmenu(); }else { time --; system.out.println("您输入的账号或密码有误"); system.out.println("你还有"+time+"次机会"); } /**次数用完退出系统*/ if(time==0) { system.exit(0); } } } /** * * @param cardno 卡号 * @param pwd 密码 * @return 整数 userindex userindex:10 表示登录失败 否则为成功 */ public int login(string cardno,string pwd) { /**循环判断账号是否存在*/ for(int i=0;i<cardnos.length;i++) { if(cardno.equals(cardnos[i])) { userindex=i; break; } } /**继续判断密码是正确*/ if(userindex!=10) { /**正确*/ if(pwd.equals(passwords[userindex])) { return userindex; }else { userindex=10; } } return userindex; } /**功能菜单*/ public void showmenu() { time=0; int out=10; system.out.println("欢迎尊敬的vip用户: "+usernames[userindex]); while(out==10) { system.out.println("请选择你的操作: 1 查询 2 取款 3 存款 4 转账 5 退出"); int getnum=scanner.nextint(); switch (getnum) { case 1:system.out.println("您当前余额为:"+moneys[userindex]); break; /**执行取款功能*/ case 2:this.getmoneys(); break; /**执行存款功能*/ case 3:this.savamoney(); break; /**执行转账功能*/ case 4:this.transmoneys(); break; case 5: system.out.println("退出成功!"); out=0; } } } /**取款功能*/ public void getmoneys() { system.out.println("请输入您的取款金额:"); int getmoney=scanner.nextint(); if(getmoney>moneys[userindex]) { system.out.println("亲亲您的余额不足哦!!!"); system.out.println("您的余额为:"+moneys[userindex]); }else { moneys[userindex]-=getmoney; system.out.println("亲恭喜您成功取款"+getmoney+" 您的余额为: "+moneys[userindex]); } } /**存款功能*/ public void savamoney() { system.out.println("请输入您的存款金额:"); int savamoney=scanner.nextint(); moneys[userindex]+=savamoney; system.out.println("亲恭喜您成功存款"+savamoney+" 您的余额为: "+moneys[userindex]); } /**转账功能*/ public void transmoneys() { /**注:hasuser用于判断转账用户是否存在,若为10则不存在 * transindex用于获取转账账号的下标 */ int hasuser=10; int transindex=0; system.out.println("请输入转账的账号:"); string transcard=scanner.next(); for(int i=0;i<cardnos.length;i++) { if(transcard.equals(cardnos[i])) { hasuser=5; transindex=i; break; } } if(hasuser==10) { system.out.println("亲亲,此账号不纯在哦!!"); }else { system.out.println("请输入转账金额:"); double transmoney=scanner.nextdouble(); if(transmoney>moneys[userindex]) { system.out.println("转账失败!!"); system.out.println("失败原因:转账金额大于余额,您的余额为:"+moneys[userindex]); }else { transcard+=transmoney; moneys[userindex]-=transmoney; system.out.println("成功向:"+usernames[transindex]+"转账:"+transmoney); system.out.println("您剩余金额为:"+moneys[userindex]); } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。