2 changed files with 110 additions and 0 deletions
@ -0,0 +1,76 @@ |
|||||
|
package java01; |
||||
|
|
||||
|
public class BankAccount { |
||||
|
// 1. 私有成员变量(封装核心)
|
||||
|
private String accountNumber; // 账号(不可修改)
|
||||
|
private String ownerName; // 户主姓名(可修改)
|
||||
|
private double balance; // 余额(只能通过存取款修改)
|
||||
|
|
||||
|
// 2. 构造方法:创建账户时必须传入账号和户主姓名,余额初始为0
|
||||
|
public BankAccount(String accountNumber, String ownerName) { |
||||
|
this.accountNumber = accountNumber; |
||||
|
this.ownerName = ownerName; |
||||
|
this.balance = 0.0; |
||||
|
} |
||||
|
|
||||
|
// 3. Getter方法(对外提供查询)
|
||||
|
// 账号只有getter,没有setter,保证不可修改
|
||||
|
public String getAccountNumber() { |
||||
|
return accountNumber; |
||||
|
} |
||||
|
|
||||
|
public String getOwnerName() { |
||||
|
return ownerName; |
||||
|
} |
||||
|
|
||||
|
public double getBalance() { |
||||
|
return balance; |
||||
|
} |
||||
|
|
||||
|
// 4. Setter方法:只有户主姓名可以修改
|
||||
|
public void setOwnerName(String ownerName) { |
||||
|
this.ownerName = ownerName; |
||||
|
} |
||||
|
|
||||
|
// 5. 存款方法 deposit
|
||||
|
public void deposit(double amount) { |
||||
|
if (amount > 0) { |
||||
|
balance += amount; |
||||
|
System.out.println("存款成功!当前余额:" + balance); |
||||
|
} else { |
||||
|
System.out.println("存款失败!存款金额必须大于0。"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 6. 取款方法 withdraw
|
||||
|
public void withdraw(double amount) { |
||||
|
if (amount > 0 && amount <= balance) { |
||||
|
balance -= amount; |
||||
|
System.out.println("取款成功!当前余额:" + balance); |
||||
|
} else if (amount <= 0) { |
||||
|
System.out.println("取款失败!取款金额必须大于0。"); |
||||
|
} else { |
||||
|
System.out.println("取款失败!余额不足。"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 测试主方法(可选,用来验证功能)
|
||||
|
public static void main(String[] args) { |
||||
|
// 创建一个账户
|
||||
|
BankAccount account = new BankAccount("622202123456789", "张三"); |
||||
|
|
||||
|
// 测试查询
|
||||
|
System.out.println("账号:" + account.getAccountNumber()); |
||||
|
System.out.println("户主:" + account.getOwnerName()); |
||||
|
System.out.println("初始余额:" + account.getBalance()); |
||||
|
|
||||
|
// 测试存款
|
||||
|
account.deposit(500); |
||||
|
account.deposit(-100); // 测试错误存款
|
||||
|
|
||||
|
// 测试取款
|
||||
|
account.withdraw(200); |
||||
|
account.withdraw(400); // 测试余额不足
|
||||
|
account.withdraw(-50); // 测试错误取款
|
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,34 @@ |
|||||
|
package java01; |
||||
|
|
||||
|
public class BankAccountTest { |
||||
|
public static void main(String[] args) { |
||||
|
System.out.println("========== 1. 测试账户创建 =========="); |
||||
|
BankAccount account = new BankAccount("622202123456789", "张三"); |
||||
|
System.out.println("账号:" + account.getAccountNumber()); |
||||
|
System.out.println("户主:" + account.getOwnerName()); |
||||
|
System.out.println("初始余额:" + account.getBalance()); |
||||
|
System.out.println(); |
||||
|
|
||||
|
System.out.println("========== 2. 测试修改户主姓名 =========="); |
||||
|
account.setOwnerName("张三丰"); |
||||
|
System.out.println("修改后户主:" + account.getOwnerName()); |
||||
|
System.out.println(); |
||||
|
|
||||
|
System.out.println("========== 3. 测试存款操作 =========="); |
||||
|
account.deposit(1000); |
||||
|
account.deposit(0); |
||||
|
account.deposit(-500); |
||||
|
System.out.println(); |
||||
|
|
||||
|
System.out.println("========== 4. 测试取款操作 =========="); |
||||
|
account.withdraw(300); |
||||
|
account.withdraw(800); |
||||
|
account.withdraw(0); |
||||
|
account.withdraw(-200); |
||||
|
System.out.println(); |
||||
|
|
||||
|
System.out.println("========== 5. 最终状态验证 =========="); |
||||
|
System.out.println("最终户主:" + account.getOwnerName()); |
||||
|
System.out.println("最终余额:" + account.getBalance()); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue