当前位置:实例文章 » JAVA Web实例» [文章]【java】【基础8】入门结业-ATM系统实战

【java】【基础8】入门结业-ATM系统实战

发布人:shili8 发布时间:2025-02-21 05:17 阅读次数:0

**Java 基础8: ATM 系统实战**

作为 Java 基础的最后一个项目,今天我们将一起实现一个简单的 ATM 系统。这个系统将包括用户登录、余额查询、存款、取款等功能。

### **1. 系统设计**

首先,我们需要设计我们的系统。ATM 系统主要包含以下几个模块:

* **用户管理**:负责管理用户信息,包括用户名和密码。
* **账户管理**:负责管理用户的银行账户信息,包括余额和历史记录。
* **登录模块**:负责处理用户登录和验证。
* **业务逻辑模块**:负责处理用户的业务操作,如存款、取款等。

### **2. 系统实现**

#### **2.1 用户管理**

首先,我们需要定义一个 `User` 类来代表我们的用户:

javapublic class User {
 private String username;
 private String password;

 public User(String username, String password) {
 this.username = username;
 this.password = password;
 }

 // getter 和 setter 方法}


#### **2.2 账户管理**

接下来,我们需要定义一个 `Account` 类来代表我们的银行账户:

javapublic class Account {
 private double balance; //余额 private List history; // 历史记录 public Account() {
 this.balance =0;
 this.history = new ArrayList<>();
 }

 public void deposit(double amount) {
 this.balance += amount;
 this.history.add(new Transaction("deposit", amount));
 }

 public void withdraw(double amount) {
 if (this.balance >= amount) {
 this.balance -= amount;
 this.history.add(new Transaction("withdrawal", amount));
 } else {
 System.out.println("余额不足!");
 }
 }

 // getter 和 setter 方法}


#### **2.3 登录模块**

现在,我们需要实现登录模块:

javapublic class LoginModule {
 private Map users; // 用户信息 public LoginModule() {
 this.users = new HashMap<>();
 }

 public void registerUser(String username, String password) {
 if (!this.users.containsKey(username)) {
 this.users.put(username, new User(username, password));
 System.out.println("用户注册成功!");
 } else {
 System.out.println("用户名已存在!");
 }
 }

 public boolean login(String username, String password) {
 if (this.users.containsKey(username)) {
 User user = this.users.get(username);
 return user.password.equals(password);
 } else {
 System.out.println("用户不存在!");
 return false;
 }
 }
}


#### **2.4业务逻辑模块**

最后,我们需要实现业务逻辑模块:

javapublic class BusinessLogicModule {
 private LoginModule loginModule; // 登录模块 private Account account; // 账户 public BusinessLogicModule(LoginModule loginModule, Account account) {
 this.loginModule = loginModule;
 this.account = account;
 }

 public void deposit(double amount) {
 if (this.loginModule.login("admin", "password")) {
 this.account.deposit(amount);
 System.out.println("存款成功!");
 } else {
 System.out.println("登录失败!");
 }
 }

 public void withdraw(double amount) {
 if (this.loginModule.login("admin", "password")) {
 this.account.withdraw(amount);
 System.out.println("取款成功!");
 } else {
 System.out.println("登录失败!");
 }
 }
}


### **3. 测试**

现在,我们可以测试我们的系统了:

javapublic class Main {
 public static void main(String[] args) {
 LoginModule loginModule = new LoginModule();
 Account account = new Account();

 // 注册用户 loginModule.registerUser("admin", "password");

 // 登录 if (loginModule.login("admin", "password")) {
 BusinessLogicModule businessLogicModule = new BusinessLogicModule(loginModule, account);

 // 存款 businessLogicModule.deposit(1000);
 System.out.println(account.getBalance());

 // 取款 businessLogicModule.withdraw(500);
 System.out.println(account.getBalance());
 }
 }
}


### **4. 总结**

在本文中,我们实现了一个简单的 ATM 系统,包括用户登录、余额查询、存款和取款等功能。我们使用 Java语言来编写这个系统,并且使用面向对象的设计原则来组织我们的代码。

希望这篇文章能够帮助你理解 Java 基础知识,并且能够让你在实际项目中应用这些知识。

相关标签:java开发语言
其他信息

其他资源

Top