|这个作业属于哪个课程 |[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 |