77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# 简易银行管理系统
|
||
|
||
这是一个使用 Java Swing 构建的简单银行账户管理系统。
|
||
|
||
## 功能
|
||
|
||
* **账户管理**:
|
||
* 开户:创建一个新的银行账户,系统会自动生成唯一的账户ID。
|
||
* 销户:删除一个现有账户。只有当账户余额为零时才能成功销户。
|
||
* 查询:根据账户ID查询账户的详细信息,包括账户持有人姓名和当前余额。
|
||
* **资金管理**:
|
||
* 存款:向指定账户存入金额。
|
||
* 取款:从指定账户取出金额,账户余额必须充足。
|
||
* 转账:在两个指定账户之间转移金额,源账户余额必须充足。
|
||
|
||
## 使用方式
|
||
|
||
1. 运行 `BankSystem.java` 文件启动应用程序。
|
||
2. **开户**:
|
||
* 点击“开户”按钮。
|
||
* 在弹出的对话框中输入账户持有人姓名。
|
||
* 系统会提示账户创建成功,并显示新生成的账户ID。
|
||
3. **查询账户**:
|
||
* 在“账户号”输入框中输入要查询的账户ID。
|
||
* 点击“查询”按钮。
|
||
* 如果账户存在,其姓名和余额将显示在相应的不可编辑字段中。
|
||
4. **存款**:
|
||
* 首先查询一个账户或在“账户号”输入框中输入账户ID。
|
||
* 点击“存款”按钮。
|
||
* 在弹出的对话框中输入存款金额。
|
||
* 操作成功后,账户余额会自动更新(如果当前查询的是该账户)。
|
||
5. **取款**:
|
||
* 首先查询一个账户或在“账户号”输入框中输入账户ID。
|
||
* 点击“取款”按钮。
|
||
* 在弹出的对话框中输入取款金额。
|
||
* 操作成功后,账户余额会自动更新(如果当前查询的是该账户)。
|
||
6. **转账**:
|
||
* 首先查询源账户或在“账户号”输入框中输入源账户ID。
|
||
* 点击“转账”按钮。
|
||
* 在弹出的第一个对话框中输入目标账户ID。
|
||
* 在弹出的第二个对话框中输入转账金额。
|
||
* 操作成功后,源账户余额会自动更新(如果当前查询的是源账户)。
|
||
7. **销户**:
|
||
* 首先查询一个账户或在“账户号”输入框中输入要销户的账户ID。
|
||
* 点击“销户”按钮。
|
||
* 系统会要求确认操作。
|
||
* 只有当账户余额为零时,销户才能成功。成功后,界面上的账户信息字段将被清空。
|
||
|
||
## 数据存储
|
||
|
||
所有账户数据都存储在项目根目录下的 `accounts.json` 文件中。每个账户对象包含以下键:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"accountId": "ACC16228383922",
|
||
"name": "张三",
|
||
"balance": 1000.50
|
||
},
|
||
{
|
||
"accountId": "ACC16228383950",
|
||
"name": "李四",
|
||
"balance": 500.00
|
||
}
|
||
]
|
||
```
|
||
|
||
* `accountId`: (String) 唯一的账户标识符。
|
||
* `name`: (String) 账户持有人的姓名。
|
||
* `balance`: (double) 账户的当前余额。
|
||
|
||
## 技术栈
|
||
|
||
* Java
|
||
* Swing (用于GUI)
|
||
* Gson (用于JSON数据处理)
|