需求:
设计一个ATM系统,系统可以创建新用户并完成一些列基本操作(存取款、转账、销户等)
分析:
1、系统架构搭建
- 定义一个Account账户类,包含卡号、姓名、密码等用户基本信息
- 定义一个ATM类,代表ATM系统,负责提供业务需求
- 定义一个Test测试类,对开发功能进行测试
2、设计start()方法,展示系统界面(包括开户和账户登录)
3、开户:新建一个账户对象,包含账户的基本信息(姓名、卡号、性别、密码、每次取款额度)
其中卡号由系统随机生成8位数组成,且卡号不能重复
4、登录:让用户输入登录的卡号,先判断卡号是否正确,如果不正确要给出提示,如果卡号正确,再让用户输入账户密码,如果密码不正确要给出提示,如果密码也正确,则给出登录成功的提示
5、登陆后操作:包含查询、存款、取款、转账、密码修改、账户注销功能。
Account.java
public class Account {
private String CardID;
private String Name;
private char Sex;
private String Password;
private double Money;
private double limit;
public Account() {
}
public Account(String cardID, String name, char sex, String password, double money, double limit) {
CardID = cardID;
Name = name;
Sex = sex;
Password = password;
Money = money;
this.limit = limit;
}
public String getCardID() {
return CardID;
}
public void setCardID(String cardID) {
CardID = cardID;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public char getSex() {
return Sex;
}
public void setSex(char sex) {
Sex = sex;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public double getMoney() {
return Money;
}
public void setMoney(double money) {
Money = money;
}
public double getLimit() {
return limit;
}
public void setLimit(double limit) {
this.limit = limit;
}
Atm.java
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Atm {
private ArrayList<Account> accounts = new ArrayList<>();
private Scanner sc = new Scanner(System.in);
private Account loginacc ;
public void start(){
while(true){
System.out.println("=====欢迎使用ATM系统=====");
System.out.println("1、用户登录");
System.out.println("2、开通新账户");
System.out.println("3、退出");
System.out.println("请选择:");
int command = s