温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java实现ATM模拟应用

发布时间:2021-06-29 11:29:47 来源:亿速云 阅读:373 作者:chen 栏目:编程语言

本篇内容主要讲解“Java实现ATM模拟应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java实现ATM模拟应用”吧!

一、功能需求

通过控制台类应用程序,模拟银行取款机功能。 首先,显示用户界面,然后根据用户输入进入相关功能界面。

说明:

  1. 不考虑取款机余额是否充足;

  2. 不考虑取款面额限制(不大于卡中存款即可);

  3. 效果参考如下,不局限,表达清楚逻辑即可。

详细说明

1.用户登录(错误)

Java实现ATM模拟应用

说明:错误三次后直接退出应用!

2.用户登录(正确)

Java实现ATM模拟应用

3.各功能效果

Java实现ATM模拟应用

Java实现ATM模拟应用

Java实现ATM模拟应用

Java实现ATM模拟应用

Java实现ATM模拟应用

二、需求分析,程序流程图

Java实现ATM模拟应用

三、面向过程方式编程实现参考

import java.util.Scanner;

/*
  * 一、面向过程编程实现参考
  * 说明:
  * 1.画流程图,明确实现过程
  * 2.要学会拆分,把复杂大问题,拆成容易实现的小问题
  * 3.面向过程也要进行适当的封装
*/
public class MyATM {
	//[1]定义变量,用于模拟银行数据库相关信息
	static String cardNumber="111";		//卡号
	static String cardPassword="123";	//密码
	static int balance=200;            	//余额
	static Scanner sc=new Scanner(System.in);  //用于获取用户输入
	//[2]定义相关方法
	static void showWelcome(){	//显示欢迎界面
		System.out.println("###########################################################");
		System.out.println("欢迎使用工商银行自动取款机!");
		System.out.println("###########################################################");		
	}
	static 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("请输入选择序号:");
	}
	static boolean userLogin(){	//用户登录
		System.out.println("请输入卡号:");
		System.out.println("提示:模拟插入银行卡,系统中仅有卡号111,其它无效!");
		String objNumber=sc.next();
		System.out.println("请输入密码:");
		System.out.println("提示:默认123!");		
	    String objPassword=sc.next();	    
	    if (objNumber.equals(cardNumber) && objPassword.equals(cardPassword))return true;
	    else return false;
	}
	static void add(){		//存钱
		System.out.println();
		System.out.println("请输入存款金额:");
		System.out.println("提示:只可输入数字!");					
		int number=sc.nextInt();
		if(number > 0){
			balance+=number;
			System.out.println("存款成功!");
			}
		else {
			System.out.println("输入错误,存款失败!");
		}
		System.out.println();
		show();
	}
	static void sub(){		//取钱
		System.out.println();
		System.out.println("请输入取款金额:");
		System.out.println("提示:只可输入数字!");	
		int number=sc.nextInt();
		if(number > balance){
			System.out.println("余额不足,取款失败!");
		}else {
			balance-=number;
			System.out.println("取款成功!");
		}
		System.out.println();
		show();
	}
	static void show(){		//查询余额
		System.out.println();
		System.out.println();
		System.out.println("当前余额为: " + balance + " 元");
		System.out.println();
		System.out.println();
		showMain();
	}
	static void exitATM(){	//退卡
		System.out.println("卡已退出…………");
		showWelcome();
	}
	//[3] 这里写程序主流程,不要将所有代码都写到这里
	public static void main(String[] args) {
		int inNumber = 3 ;		//定义变量,用于标记登录次数
		boolean status=false;	//用于标识用户登录状态
		
		//[3-1]显示欢迎界面
		showWelcome();
		//[3-2]用户登录,通过status变量标识登录状态
		do { 
			status=userLogin();
			if(status) {				
				showMain();//显示主操作界面
				break;//或者将循环条件设置为假
			}
			else{
				inNumber--;
				if (inNumber!=0) System.out.println("用户名或密码不正确,请重新输入!");
			}
		} while (inNumber > 0);
		//[3-3]成功则选择操作
		if(status) {					
			boolean isSelect=true;
			while(isSelect) { //控制主功能菜单循环操作
				String obj=sc.next();
				switch (obj) {
				case "1":
					show();
					break;
				case "2":
					sub();
					break;
				case "3":
					add();
					break;
				case "4":
					isSelect=false;
					sc.close();
					exitATM();
				}
			}
		}
		else {
			sc.close();
			exitATM();
		}
	}
}

到此,相信大家对“Java实现ATM模拟应用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI