Java实现银行账户类:含账户余额操作与测试代码
下面是根据你的要求设计的 `BankAccount` 类和 `Main` 类: ```java // BankAccount类 public class BankAccount { private int balance; // 无参构造方法,将账户余额初始化为0 public BankAccount() { this.balance = 0; } // 带一个参数的构造方法,将账户余额初始化为输入的参数 public BankAccount(int balance) { if (balance < 0) { System.out.println("输入的数据不能为负数"); this.balance = 0; } else { this.balance = balance; } } // 返回账户余额 public int getBalance() { return balance; } // 从账户余额中提取amount指定的款额,并返回账户余额 public int withdraw(int amount) { if (amount > balance) { System.out.println("账户余额不足"); } else { balance -= amount; } return balance; } // 将amount指定的款额存储到该银行账户上 public void deposit(int amount) { balance += amount; } } // Main类 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入账户余额 int initialBalance = scanner.nextInt(); BankAccount account = new BankAccount(initialBalance); // 输出初始账户余额 System.out.println("账户的初始余额是:" + account.getBalance()); // 输入提取额度 int withdrawAmount = scanner.nextInt(); int afterWithdraw = account.withdraw(withdrawAmount); // 输出提取后的账户余额 if (withdrawAmount <= initialBalance) { System.out.println("取款后,账户的余额是:" + afterWithdraw); } // 输入存款额度 int depositAmount = scanner.nextInt(); account.deposit(depositAmount); // 输出存款后的账户余额 System.out.println("存款后,账户的余额是:" + account.getBalance()); scanner.close(); } } ``` 代码说明: 1. BankAccount类: - `balance` 是账户余额。 - 提供了两个构造方法:一个无参构造方法将余额初始化为0,另一个带参构造方法允许用户初始化余额。 - `getBalance()` 方法返回当前账户余额。 - `withdraw(int amount)` 方法用于提取指定金额,如果余额不足则输出提示信息。 - `deposit(int amount)` 方法用于存入指定金额。 2. Main类: - 通过 `Scanner` 类从控制台读取用户输入。 - 创建 `BankAccount` 对象并初始化余额。 - 依次输出初始余额、提取后的余额和存款后的余额。 额外需要注意的逻辑点: 1. 在 `BankAccount` 类的带参构造方法中,检查输入的余额是否为负数,如果是负数则输出提示信息并将余额初始化为0。 2. 在 `withdraw` 方法中,检查提取金额是否大于当前余额,如果是则输出提示信息并不进行提取操作。 3. 在 `Main` 类中,确保输入的提取金额和存款金额都是非负数,否则可能会导致逻辑错误。 ######[AI写代码神器 | 711点数解答 | 2025-03-23 21:38:57]
- Java实现银行与账户类:含存、取、查交易记录功能的业务系统( | 363点数解答 | 2024-04-05 11:49:01)356
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)405
- Java实现含多操作的银行账户管理系统,功能演示清晰呈现!( | 363点数解答 | 2024-04-05 11:43:57)384
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)70
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)70
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)305
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1134
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)317
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)457
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)354