ATM柜员机模拟程序
要求使用图形用户界面:
1、通过主界面,可以进入管理员界面、用户界面、系统设置界面、退出;
2、启动软件,可以进入用户模式,也可以进入系统管理模式;
3、进入系统管理模式,需要输入管理员账号和密码,可以查看这台ATM机近期资金出入明细,可以查看这台ATM机上面操作的所有账户的历史记录和明细;
4、进入用户账号和密码的登录界面,当输入给定的卡号和密码(初始卡号16位和密码6位)时,对比系统存储的账号和密码正确,能登录ATM柜员机系统,当日出错次数操作3次,当日锁定账户不能继续操作,累计三日被锁定,需要管理员账号才能够完成解锁操作。
用户可以按照以下规则进行操作:
1、查询余额:初始余额为100000元;
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支;
3、ATM存款:不能出现负存款,要求存钱为100的整数倍;
4、ATM转账:通过登录的用户向指定的银行账号(在系统中已经保存)转账,若银行卡不存在,则提
示银行卡号输入错误,转账成功则提示“转账成功”,并且工具日期能够实现当日转账金额的限制;
5、历史交易记录查询,要求能够保存20条以上的交易记录;
6、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码;
7、退卡:点击退卡,返回登录界面。
主界面
//文件名:MainInterface.java
package ATM;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public abstract class MainInterface implements ActionListener {
static JFrame mainJFrame=new JFrame();
static JLabel lbl=new JLabel("ATM柜员机模拟程序——主界面",JLabel.CENTER);
static JButton bt_userMode=new JButton("用户模式");
static JButton bt_systemManagementMode=new JButton("系统管理模式");
static JButton bt_signOut=new JButton("退出");
public static void main(String[] args) {
mainJFrame.setTitle("ATM柜员机模拟程序——主界面");
mainJFrame.setBounds(0, 0, 800, 600);
用户登录界面
//文件名:UserLoginInterface.java
package ATM;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class UserLoginInterface {
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
static SimpleDateFormat time;
static Date date;
static Calendar calendar;
系统设置界面
//文件名:SystemSettingInterface.java
package ATM;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class SystemSettingInterface {
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
static JFrame mainJFrame_2=new JFrame();
static JLabel lbl=new JLabel("ATM柜员机模拟程序——系统设置界面",JLabel.CENTER);
static JDialog diag_message=new JDialog();
static JLabel lb_message=new JLabel();
static JLabel lb_name=new JLabel("帐号");
用户界面
//文件名:UserInterface.java
package ATM;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class UserInterface {
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
static SimpleDateFormat time;
static Date date;
//用户界面组件
管理员界面
//文件名:AdministratorInterface.java
package ATM;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class AdministratorInterface {
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
static SimpleDateFormat time;
static Date date;
static JFrame mainJFrame_4=new JFrame();
UserTest
//文件名:UserTest.java
package ATM;
import java.io.*;
import java.util.*;
public class UserTest {
static ArrayList userArrayList;//集合类-ArrayList类
static UserAccount currentUserAccount;//当前用户账号
static UserAccount currentUserAccount_1;//当前被转帐用户账号
static File userFile;//File类
static File currentUserFile;//当前用户文件
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
public static void main(String[] args) throws Exception {
userArrayList=new ArrayList();//集合类-ArrayList类
UserAccount
//文件名:UserAccount.java
package ATM;
public class UserAccount {
String userAccount;
String password;
float balance;
}
AdministratorTest
//文件名:AdministratorTest.java
package ATM;
import java.io.*;
import java.util.*;
public class AdministratorTest {
static ArrayList administratorArrayList;//集合类-ArrayList类
static AdministratorAccount currentAdministratorAccount;//当前管理员账号
static File administratorFile;//File类
static File currentAdministratorFile;//当前管理员文件
static FileReader fr;//FileReader类
static FileWriter fw;//FileWriter类
public static void main(String[] args) throws Exception {
administratorArrayList=new ArrayList();//集合类-ArrayList类
currentAdministratorAccount=new AdministratorAccount(null,null,0);//当前管理员账号
AdministratorAccount
//文件名:AdministratorAccount.java
package ATM;
public class AdministratorAccount {
String administratorAccount;
String password;
float balance;
}
原文出处:CSDN