|这个作业属于哪个课程 |[https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19] |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477 |
| 这个作业的目标 |编写一个ATM管理系统包括以下主要功能:1.登录2.修改密码3.查询账户余额4.存款5.取款6.转账(一个账户转到另一个账户)7.退出登录 |
| 学号 | 3190704141 |
定义用户初始数据
`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 + "]";
}

}`

ATM用户登录界面
`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("登录成功!");`

ATM用户选择功能界面
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();
			
		}
}	

}`

psp 任务内容 计划完成时间(min) 实际完成时间(min)
Planning 计划 10 7
Estimate 估计任务时间并规划大概步骤 10 7
Design 设计 180 220
Code Review 代码复审 5 10