Java作业ATM机,使用单例模式,实现存取款,查询余额
import javax.swing.JOptionPane;
public class Main {
public static mian(String[]args){
ATM.getInstance(10);//初始化包含十个账户的ATM
userName=JOptionPane.showInputDialog("用户名");//ÀûÓöԻ°¿òÊäÈëÓû§Ãû
passWord=JOptionPane.showInputDialog("密码");//ÀûÓöԻ°¿òÊäÈëÃÜÂë
}
}
class ATM{
public static ATM instance;
private double deposits[];
private String userNames[];
private String passwords[];
private int currentId;//当前登陆的账户id
private int accounts=0;//当前ATM机中的账户数量
final double NON_EXISTENT=-1;
private ATM(int MaxAccounts){
deposits=new double[MaxAccounts];
userNames=new String[MaxAccounts];
passwords=new String[MaxAccounts];
currentId=-1;
}
public boolean RegisterAnAccount(String acconut,String password){
if (accounts==userNames.length) {
//System.out.println("注册失败");
return false;
} else{
userNames[accounts]=acconut;
passwordS[acconuts]=password;
return true;
}
}
public double GetAccountBalance(String Name,String passWord) { //获取账户余额
if (currentId!=-1) {
return deposits[currentId];
}
System.out.println("该账户不存在");
return 0;
}
public boolean Withdraw(double money){//取钱
if (currentId==-1 && money>deposits[currentId]) {
return false;
}else{
deposits[currentId]-=money;
return true;
}
}
public boolean Deposit(double money){//存钱
if (currentId!=NON_EXISTENT) {
deposits[currentId]+=money;
return true;
}else{
return false;
}
}
private int FindAccount(String Name) {//查找是否存在该账户
for(int id=0;id


