2 changed files with 159 additions and 0 deletions
@ -0,0 +1,84 @@ |
|||||
|
public class BankAccount { |
||||
|
// 私有属性:账户号(final修饰,不可修改)
|
||||
|
private final String accountNumber; |
||||
|
// 私有属性:户主姓名(可修改)
|
||||
|
private String ownerName; |
||||
|
// 私有属性:余额(只能通过存款和取款操作改变)
|
||||
|
private double balance; |
||||
|
|
||||
|
/** |
||||
|
* 构造方法:创建账户时必须提供账户号和户主姓名,初始余额为0 |
||||
|
* @param accountNumber 账户号(创建后不可修改) |
||||
|
* @param ownerName 户主姓名 |
||||
|
*/ |
||||
|
public BankAccount(String accountNumber, String ownerName) { |
||||
|
this.accountNumber = accountNumber; |
||||
|
this.ownerName = ownerName; |
||||
|
this.balance = 0.0; |
||||
|
} |
||||
|
/// 获取账户号(只读,无setter方法)
|
||||
|
/// @return 账户号
|
||||
|
public String getAccountNumber() { |
||||
|
return accountNumber; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取户主姓名 |
||||
|
* @return 户主姓名 |
||||
|
*/ |
||||
|
public String getOwnerName() { |
||||
|
return ownerName; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改户主姓名 |
||||
|
* @param ownerName 新的户主姓名 |
||||
|
*/ |
||||
|
public void setOwnerName(String ownerName) { |
||||
|
this.ownerName = ownerName; |
||||
|
System.out.println("户主姓名已修改为:" + ownerName); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 查询余额(只读,无setter方法) |
||||
|
* @return 当前余额 |
||||
|
*/ |
||||
|
public double getBalance() { |
||||
|
return balance; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 存款操作 |
||||
|
* @param amount 存款金额(必须大于0) |
||||
|
*/ |
||||
|
public void deposit(double amount) { |
||||
|
if (amount > 0) { |
||||
|
balance += amount; |
||||
|
System.out.println("存款 " + amount + " 元成功,当前余额:" + balance + " 元"); |
||||
|
} else { |
||||
|
System.out.println("存款金额必须大于0!"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 取款操作 |
||||
|
* @param amount 取款金额(必须大于0且不超过当前余额) |
||||
|
*/ |
||||
|
public void withdraw(double amount) { |
||||
|
if (amount <= 0) { |
||||
|
System.out.println("取款金额必须大于0!"); |
||||
|
} else if (amount > balance) { |
||||
|
System.out.println("余额不足!当前余额为 " + balance + " 元,无法取出 " + amount + " 元。"); |
||||
|
} else { |
||||
|
balance -= amount; |
||||
|
System.out.println("取款 " + amount + " 元成功,当前余额:" + balance + " 元"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 查询余额并打印信息 |
||||
|
*/ |
||||
|
public void queryBalance() { |
||||
|
System.out.println("账户 " + accountNumber + " 当前余额为:" + balance + " 元"); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,75 @@ |
|||||
|
public class Employee { |
||||
|
// 私有属性:封装
|
||||
|
private String id; |
||||
|
private String name; |
||||
|
private String department; |
||||
|
private double salary; |
||||
|
|
||||
|
// 最低工资标准常量
|
||||
|
private static final double MIN_SALARY = 2000.0; |
||||
|
|
||||
|
// 全参构造方法
|
||||
|
public Employee(String id, String name, String department, double salary) { |
||||
|
this.id = id; |
||||
|
this.name = name; |
||||
|
this.department = department; |
||||
|
// 使用 setSalary 来确保工资符合最低标准
|
||||
|
setSalary(salary); |
||||
|
} |
||||
|
|
||||
|
// Getter 和 Setter
|
||||
|
public String getId() { |
||||
|
return id; |
||||
|
} |
||||
|
|
||||
|
public void setId(String id) { |
||||
|
this.id = id; |
||||
|
} |
||||
|
|
||||
|
public String getName() { |
||||
|
return name; |
||||
|
} |
||||
|
|
||||
|
public void setName(String name) { |
||||
|
this.name = name; |
||||
|
} |
||||
|
|
||||
|
public String getDepartment() { |
||||
|
return department; |
||||
|
} |
||||
|
|
||||
|
public void setDepartment(String department) { |
||||
|
this.department = department; |
||||
|
} |
||||
|
|
||||
|
public double getSalary() { |
||||
|
return salary; |
||||
|
} |
||||
|
|
||||
|
// 在 setSalary 中检查工资是否低于最低标准
|
||||
|
public void setSalary(double salary) { |
||||
|
if (salary < MIN_SALARY) { |
||||
|
System.out.println("警告:工资不能低于最低工资 " + MIN_SALARY + " 元,已自动设置为最低工资。"); |
||||
|
this.salary = MIN_SALARY; |
||||
|
} else { |
||||
|
this.salary = salary; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 涨薪方法:percent 为 5 表示增加 5%
|
||||
|
public void raiseSalary(double percent) { |
||||
|
if (percent <= 0) { |
||||
|
System.out.println("涨薪百分比必须大于 0"); |
||||
|
return; |
||||
|
} |
||||
|
double increase = this.salary * (percent / 100); |
||||
|
double newSalary = this.salary + increase; |
||||
|
setSalary(newSalary); // 复用 setSalary 的校验逻辑
|
||||
|
} |
||||
|
|
||||
|
// 方便展示员工信息的方法
|
||||
|
public void displayInfo() { |
||||
|
System.out.println("工号:" + id + ",姓名:" + name + ",部门:" + department + ",工资:" + salary); |
||||
|
} |
||||
|
} |
||||
|
|
||||
Loading…
Reference in new issue