网站建设资讯

NEWS

网站建设资讯

如何实现ATM模拟应用JavaR

如何实现 ATM模拟应用JavaR,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:做网站、网站建设、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

用面向对象的方式实现参考

1. 用户类

import java.util.Scanner;

//用户类
public class MyUser {
	private String cardNumber="111";	//卡号
	private String cardPassword="123";	//密码
	static Scanner sc=new Scanner(System.in);
	// 用户登录
	public boolean userLogin(){	
		System.out.println("请输入卡号:");
		System.out.println("提示:模拟插入银行卡,系统中仅有卡号111,其它无效!");			
		String cnumber=sc.next();
		System.out.println("请输入密码:");
		System.out.println("提示:默认123!");		
	    String cPassword=sc.next();
	    if (cnumber.equals(this.cardNumber) && cPassword.equals(this.cardPassword))return true;
	    else return false;
	}
}

2. ATM类

//ATM类
public class ATM {
	//[1]定义变量,用于模拟银行数据库相关信息
	static int balance;            	//余额
	//构造方法——用于对象初始化
	public ATM() {
		showWelcome();
		balance=200;
	}	
	//[2-1]显示欢迎界面
	public void showWelcome(){	
		System.out.println("###########################################################");
		System.out.println("欢迎使用工商银行自动取款机!");
		System.out.println("###########################################################");		
	}
	//[2-2]显示主操作界面
	public void showMain(){		
		System.out.println("======================================");
		System.out.println("主菜单:");
		System.out.println("1-查询余额");
		System.out.println("2-提取现金");
		System.out.println("3-存款");
		System.out.println("4-退出");
		System.out.println("======================================");		
		System.out.println("请输入选择序号:");
	}
	//[2-3]存钱
	public void add(){		
		System.out.println();
		System.out.println("请输入存款金额:");
		System.out.println("提示:只可输入数字!");	
		int number=MyUser.sc.nextInt();
		if(number > 0){
			balance+=number;
			System.out.println("存款成功!");
			}
		else {
			System.out.println("输入错误,存款失败!");
		}
		show();
	}
	//[2-4]取钱
	public void sub(){	
		System.out.println();
		System.out.println("请输入取款金额:");
		System.out.println("提示:只可输入数字!");	
		int number=MyUser.sc.nextInt();
		if(number > balance){
			System.out.println("余额不足,取款失败!");
		}else {
			balance-=number;
			System.out.println("取款成功!");
		}
		show();
	}
	//[2-5]查询余额
	public void show(){	
		System.out.println();
		System.out.println("当前余额为: " + balance + " 元");
		System.out.println();
		showMain();
	}
	//[2-6]退卡
	public void exitATM(){	
		System.out.println("卡已退出…………");
		showWelcome();
	}	
}

3. 主类

//主类
public class MyMain {
	public static void main(String[] args) {
		// 【1】面向对象方式实现
		ATM objATM=new ATM(); //由于构造方法初识化了objATM这个对象,所以程序执行到这里已经显示ATM欢迎界面了		
		// 【2】调用MyUser的登录方法,实现登录功能
		MyUser objUser=new MyUser();		
	    int inNumber = 3 ;		//定义变量,用于标记登录次数
		boolean status=false;	//用于标识用户登录状态
		//[2-1]用户登录,通过status变量标识登录状态
		do {
			status=objUser.userLogin();
			if(status) {
				objATM.showMain();//显示主操作界面
				break;//或者将循环条件设置为假
			}
			else{
				inNumber--;
				if (inNumber!=0) System.out.println("用户名或密码不正确,请重新输入!");
			}
		} while (inNumber > 0);
		//[2-2]成功则选择操作
		if(status) {					
			boolean isSelect=true;
			while(isSelect) { //控制主功能菜单循环操作
				String obj=MyUser.sc.next();
				switch (obj) {
				case "1":
					objATM.show();
					break;
				case "2":
					objATM.sub();
					break;
				case "3":
					objATM.add();
					break;
				case "4":
					isSelect=false;
					MyUser.sc.close();
					objATM.exitATM();
				}
			}
		}
		else {
			objATM.exitATM();
		}		
	}
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


名称栏目:如何实现ATM模拟应用JavaR
浏览地址:http://cdweb.net/article/pcoiig.html