• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
月中逍遥仙
博客园    首页    新随笔    联系   管理    订阅  订阅

ATM管理系统

| 博客班级 | 软件工程 |
| ---- | ---- | ---- |
| 作业要求 | 作业链接 |
| 作业目标 | 编写一个ATM系统语言不限 |
| 学号 | 3180701122 |

目录
  • 题目要求
  • 代码
    • 建立属性类
    • 实现类
    • 主方法
  • 运行界面
  • psp表格
  • 作业总结

题目要求

编写一个ATM管理系统,语言不限,要求应包括以下主要功能:
(1)开户,销户
(2)查询账户余额
(3)存款
(4)取款
(5)转账(一个账户转到另一个账户)等...
允许网上查询参考,但请注意不要直接抄袭,可以理解看懂别人的代码,再自己编写

代码

建立属性类

package ATM;
 
/*
 * 定义账号和密码
 */
public class ATMbean {
	//定义用户名和密码
	private String username = "张三";
	private String password = "123";
	//定义初始账余额
	private double money = 5000;
	
	
	public ATMbean() {
		super();
	}
	public ATMbean(String usename, String password, double money) {
		super();
		this.username = usename;
		this.password = password;
		this.money = money;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public double getMoney() {
		return money;
	}
	public void setMoney(double money) {
		this.money = money;
	}
	@Override
	public String toString() {
		return "ATMbean [username=" + username + ", password=" + password + ", money=" + money + "]";
	}
	
	
}

实现类

package ATM;
 
import java.util.Scanner;
 
public class ATMtest {
	//实例化ATMbean
			ATMbean atm = new ATMbean();
			
			Scanner s = new Scanner(System.in);
			//定义一个计数器记录修改密码的次数,修改密码不得超过三次
			int i = 1;
	public void Select() {
		
		
		//用户输入用户名和密码去和已经定义的用户名密码做比较,相同则进入系统,不相同则报错
		System.out.println("==========欢迎进入ATM银行管理系统==========");
		System.out.println("请输入用户名:");
		String name = s.next();
		System.out.println("请输入密码:");
		String password = s.next();
		//将用户输入的用户名和密码与系统中的用户名密码相比是否相同,相同则进入系统
		if(name.equals(atm.getUsername()) && password.equals(atm.getPassword())) {
			System.out.println("登录成功!");
			
			//在此处可以进行循环
			while(true) {
				System.out.println("请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录");
				switch(s.nextInt()) {
					case 1:
						//调用取钱的方法
						getMoney();
						break;
					case 2:
						//调用存钱的方法
						saveMoney();
						break;
					case 3:
						//调用查询余额的方法
						selectMoney();
						break;
					case 4:
						//调用转账的方法
						zhuanzhangMoney();
						break;
					case 5:
						//调用修改密码的方法
						updateMoney();
						break;
					case 6:
						//调用重新登录的方法,也就是调用自己
						Select();
						break;
					case 7:
						System.out.println("欢迎下次登录该系统!");
						System.exit(0);
						break;
					default:
						System.out.println("你输入有误!请重新输入!");
						break;
				}
			}
			//不相同。则报错
		}else {
			System.out.println("用户名或密码错误!请重新输入!");
			Select();
		}
	}
	
 
	//定义取钱的方法
	public void getMoney() {
		//输入取钱的金额,判断余额是否够
		System.out.println("请输入取钱金额(元):");
		double money = s.nextDouble();
		if(money<=atm.getMoney()) {
			//如果够了,则取钱,后计算余额并赋值
			money = atm.getMoney() - money;
			atm.setMoney(money);
			System.out.println( "     取款成功!");
			System.out.println("  请取回您的现金!");
		}else {
			System.out.println("余额不足!");
		}
	}
	
	
	//定义存钱的方法
	public void saveMoney() {
		System.out.println("请输入存钱金额:");
		double money = s.nextDouble();
		money = money + atm.getMoney();
		atm.setMoney(money);
		System.out.println("存钱成功");
	}
	
	
	//定义查询余额的方法
	public void selectMoney() {
		System.out.println("您的余额为:"+atm.getMoney()+"元");
	}
	
	
	//定义转账的方法
	public void zhuanzhangMoney() {
		System.out.println("请输入转账人账号:");
		String name = s.next();
		System.out.println("请输入转账金额:");
		double money = s.nextDouble();
		//判断转账的金额与你的余额的大小
		if(money<=atm.getMoney()) {
			money = atm.getMoney()-money;
			atm.setMoney(money);
			System.out.println("转账成功!");
		}else {
			System.out.println("你确定你有那么多的钱吗!");
		}
	}
	
	
	//定义修改密码的方法
	public void updateMoney() {
		
			System.out.println("请输入原密码:");
			String password = s.next();
			//判断原密码是否是你输入的密码
			if(password.equals(atm.getPassword())) {
				System.out.println("请输入新密码:");
				String newpassword = s.next();
				System.out.println("请再次输入新密码:");
				String newpassword01 = s.next();
				//判断二次输入的密码是否相同
				if(newpassword.equals(newpassword01)) {
					System.out.println("修改成功!即将重新登录!");
					atm.setPassword(newpassword01);
					Select();
					
				}else {
					System.out.println("您输入的密码与之间的密码不相同!");
					updateMoney();
				}
			}
			//如果输入的密码不是原密码,则重新输入
			else {
				if(i>=3) {
					System.out.println("您三次输入密码都是错的!");
					System.out.println("您输入错误密码的次数超限!即将退出系统!");
					System.exit(0);
				}
				System.out.println("您输入的密码与原密码不相同!请重新输入!");
				i++;
				updateMoney();
				
			}
	}	
}

主方法

package ATM;
 
public class ATMmain {
	public static void main(String[] args) {
		ATMtest atm = new ATMtest();
		atm.Select();
	}
}

运行界面

psp表格

作业总结

通过这次实验我发现我有许多的知识盲区,首先java掌握不够,实现类功能不是很完善,通过CSDN学习才完成本次作业,希望在日后的学习中可以做到更好。

posted @ 2020-11-18 21:44  月中逍遥仙  阅读(123)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3