2 changed files with 74 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||
public class BankAccount { |
|||
// 私有属性(封装)
|
|||
private final String accountNumber; // 账户号,创建后不可修改
|
|||
private String ownerName; // 户主姓名,可修改
|
|||
private double balance; // 余额,只能通过存取款修改
|
|||
|
|||
// 构造方法:必须传入账户号和户主姓名,初始余额为0
|
|||
public BankAccount(String accountNumber, String ownerName) { |
|||
this.accountNumber = accountNumber; |
|||
this.ownerName = ownerName; |
|||
this.balance = 0.0; |
|||
} |
|||
|
|||
// 存款方法
|
|||
public void deposit(double amount) { |
|||
if (amount > 0) { |
|||
balance += amount; |
|||
System.out.println("存款成功!当前余额:" + balance); |
|||
} else { |
|||
System.out.println("存款失败!金额必须大于0。"); |
|||
} |
|||
} |
|||
|
|||
// 取款方法
|
|||
public void withdraw(double amount) { |
|||
if (amount > 0 && amount <= balance) { |
|||
balance -= amount; |
|||
System.out.println("取款成功!当前余额:" + balance); |
|||
} else { |
|||
System.out.println("取款失败!金额必须大于0且不超过当前余额。"); |
|||
} |
|||
} |
|||
|
|||
// 查询余额
|
|||
public double getBalance() { |
|||
return balance; |
|||
} |
|||
|
|||
// 户主姓名 getter/setter(允许修改)
|
|||
public String getOwnerName() { |
|||
return ownerName; |
|||
} |
|||
|
|||
public void setOwnerName(String ownerName) { |
|||
this.ownerName = ownerName; |
|||
} |
|||
|
|||
// 账户号 getter(无setter,保证不可修改)
|
|||
public String getAccountNumber() { |
|||
return accountNumber; |
|||
} |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
|
|||
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
|
|||
public class Main { |
|||
public static void main(String[] args) { |
|||
// 创建账户
|
|||
BankAccount account = new BankAccount("622202100123456", "张三"); |
|||
|
|||
// 测试存款
|
|||
account.deposit(1000); |
|||
// 测试取款
|
|||
account.withdraw(300); |
|||
// 查询余额
|
|||
System.out.println("当前余额:" + account.getBalance()); |
|||
// 修改户主姓名
|
|||
account.setOwnerName("李四"); |
|||
System.out.println("户主已改为:" + account.getOwnerName()); |
|||
|
|||
// 测试错误操作
|
|||
account.deposit(-200); |
|||
account.withdraw(1000); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue