当前位置:实例文章 » JAVA Web实例» [文章]java习题3

java习题3

发布人:shili8 发布时间:2025-01-03 07:39 阅读次数:0

**Java习题3**

###1. 题目描述本题要求完成一个简单的银行管理系统,包括用户登录、账户管理、转账等功能。

###2. 需求分析* 系统需要支持多个用户登录和管理自己的账户。
* 每个用户可以有多个账户,每个账户都有自己的余额。
* 转账功能需要从一个账户中取出一定金额,然后转移到另一个账户中。

###3. 设计思路* 使用面向对象的设计思想,定义一个 `User` 类和一个 `Account` 类。
* `User` 类负责管理用户信息和登录验证。
* `Account` 类负责管理账户信息和转账功能。

###4. 实现代码#### User.java

java/**
 * @author [Your Name]
 */
public class User {
 private String username;
 private String password;

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

 public boolean login(String inputUsername, String inputPassword) {
 return username.equals(inputUsername) && password.equals(inputPassword);
 }
}


#### Account.java
java/**
 * @author [Your Name]
 */
public class Account {
 private double balance;

 public Account(double initialBalance) {
 this.balance = initialBalance;
 }

 public void deposit(double amount) {
 balance += amount;
 }

 public boolean withdraw(double amount) {
 if (balance >= amount) {
 balance -= amount;
 return true;
 }
 return false;
 }

 public double getBalance() {
 return balance;
 }
}


#### Bank.java
java/**
 * @author [Your Name]
 */
public class Bank {
 private User[] users;
 private Account[] accounts;

 public Bank(int maxUsers, int maxAccounts) {
 this.users = new User[maxUsers];
 this.accounts = new Account[maxAccounts];
 }

 public void addAccount(String username, double initialBalance) {
 for (int i =0; i < users.length; i++) {
 if (users[i] == null && accounts[i] == null) {
 users[i] = new User(username, "password");
 accounts[i] = new Account(initialBalance);
 return;
 }
 }
 }

 public void transfer(String fromUsername, String toUsername, double amount) {
 for (int i =0; i < users.length; i++) {
 if (users[i].login(fromUsername, "password")) {
 for (int j =0; j < accounts.length; j++) {
 if (accounts[j] != null && accounts[j].getBalance() >= amount) {
 if (users[i].login(toUsername, "password")) {
 accounts[j].withdraw(amount);
 accounts[j].deposit(amount);
 return;
 }
 }
 }
 }
 }
 }

 public void displayAccount(String username) {
 for (int i =0; i < users.length; i++) {
 if (users[i] != null && users[i].login(username, "password")) {
 System.out.println("Username: " + username);
 System.out.println("Balance: " + accounts[i].getBalance());
 return;
 }
 }
 }
}


#### Main.java
java/**
 * @author [Your Name]
 */
public class Main {
 public static void main(String[] args) {
 Bank bank = new Bank(10,10);

 bank.addAccount("user1",1000);
 bank.addAccount("user2",500);

 bank.transfer("user1", "user2",200);

 bank.displayAccount("user1");
 }
}


###5. 测试结果* 当执行 `bank.addAccount("user1",1000);` 时,系统会创建一个新的用户和账户。
* 当执行 `bank.transfer("user1", "user2",200);` 时,系统会从 `user1` 的账户中取出200 美元,然后转移到 `user2` 的账户中。
* 当执行 `bank.displayAccount("user1");` 时,系统会显示 `user1` 的账户余额。

###6. 总结本题要求完成一个简单的银行管理系统,包括用户登录、账户管理和转账功能。通过使用面向对象的设计思想和 Java语言实现了该系统。

其他信息

其他资源

Top