6 changed files with 205 additions and 0 deletions
@ -0,0 +1,64 @@ |
|||
package w3; |
|||
|
|||
public class BankAccount { |
|||
// 1. 私有属性(封装)
|
|||
private final String accountNumber; // 账户号(final 修饰,创建后不可修改)
|
|||
private String ownerName; // 户主姓名(可修改)
|
|||
private double balance; // 余额(只能通过存取款修改)
|
|||
|
|||
// 2. 构造方法(创建账户必须提供账户号和户主姓名,初始余额为0)
|
|||
public BankAccount(String accountNumber, String ownerName) { |
|||
this.accountNumber = accountNumber; |
|||
this.ownerName = ownerName; |
|||
this.balance = 0.0; // 初始余额为0
|
|||
} |
|||
|
|||
// 3. Getter 方法(对外提供查询)
|
|||
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. 存款操作(金额必须>0)
|
|||
public void deposit(double amount) { |
|||
if (amount > 0) { |
|||
this.balance += amount; |
|||
System.out.println("存款成功!当前余额:" + this.balance); |
|||
} else { |
|||
System.out.println("存款失败:存款金额必须大于0!"); |
|||
} |
|||
} |
|||
|
|||
// 6. 取款操作(金额必须>0且不超过当前余额)
|
|||
public void withdraw(double amount) { |
|||
if (amount > 0 && amount <= this.balance) { |
|||
this.balance -= amount; |
|||
System.out.println("取款成功!当前余额:" + this.balance); |
|||
} else if (amount <= 0) { |
|||
System.out.println("取款失败:取款金额必须大于0!"); |
|||
} else { |
|||
System.out.println("取款失败:余额不足!"); |
|||
} |
|||
} |
|||
|
|||
// 7. 打印账户信息(方便测试)
|
|||
public void printAccountInfo() { |
|||
System.out.println("===== 账户信息 ====="); |
|||
System.out.println("账户号:" + accountNumber); |
|||
System.out.println("户主姓名:" + ownerName); |
|||
System.out.println("当前余额:" + balance); |
|||
System.out.println("===================="); |
|||
} |
|||
} |
|||
@ -0,0 +1,30 @@ |
|||
package w3; |
|||
|
|||
public class BankAccountTest { |
|||
public static void main(String[] args) { |
|||
// 1. 创建一个银行账户
|
|||
BankAccount account = new BankAccount("622202123456789", "客户A"); |
|||
|
|||
// 2. 打印初始信息
|
|||
account.printAccountInfo(); |
|||
|
|||
// 3. 测试存款
|
|||
account.deposit(1000); |
|||
account.printAccountInfo(); |
|||
|
|||
// 4. 测试取款
|
|||
account.withdraw(300); |
|||
account.printAccountInfo(); |
|||
|
|||
// 5. 测试修改户主姓名
|
|||
account.setOwnerName("客户A-新版"); |
|||
System.out.println("修改后户主姓名:" + account.getOwnerName()); |
|||
|
|||
// 6. 测试异常情况(取款金额>余额)
|
|||
account.withdraw(800); |
|||
// 测试异常情况(存款金额<=0)
|
|||
account.deposit(-500); |
|||
// 测试异常情况(取款金额<=0)
|
|||
account.withdraw(-100); |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 143 KiB |
@ -0,0 +1,85 @@ |
|||
package w3; |
|||
|
|||
public class Employee { |
|||
private static String companyName; |
|||
private String id; |
|||
private String name; |
|||
private String department; |
|||
private double salary; |
|||
private static final double MIN_SALARY = 2000; |
|||
|
|||
static { |
|||
// 这里改成通用公司名,无任何个人信息
|
|||
companyName = "科技有限公司"; |
|||
} |
|||
|
|||
public Employee(String id, String name, String department, double salary) { |
|||
this.id = id; |
|||
this.name = name; |
|||
this.department = department; |
|||
setSalary(salary); |
|||
} |
|||
|
|||
public static String getCompanyName() { |
|||
return companyName; |
|||
} |
|||
|
|||
public static void setCompanyName(String companyName) { |
|||
Employee.companyName = companyName; |
|||
} |
|||
|
|||
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; |
|||
} |
|||
|
|||
public void setSalary(double salary) { |
|||
if (salary >= MIN_SALARY) { |
|||
this.salary = salary; |
|||
} else { |
|||
System.out.println("工资不能低于最低工资标准 " + MIN_SALARY); |
|||
this.salary = MIN_SALARY; |
|||
} |
|||
} |
|||
|
|||
public void raiseSalary(double percent) { |
|||
double newSalary = this.salary * (1 + percent / 100); |
|||
if (newSalary >= MIN_SALARY) { |
|||
this.salary = newSalary; |
|||
} else { |
|||
this.salary = MIN_SALARY; |
|||
} |
|||
} |
|||
|
|||
public void printInfo() { |
|||
System.out.println("公司:" + companyName); |
|||
System.out.println("工号:" + id); |
|||
System.out.println("姓名:" + name); |
|||
System.out.println("部门:" + department); |
|||
System.out.println("工资:" + String.format("%.2f", salary)); |
|||
System.out.println("------------------------"); |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
package w3; |
|||
|
|||
public class EmployeeTest { |
|||
public static void main(String[] args) { |
|||
// 创建两个员工对象(通用信息)
|
|||
Employee emp1 = new Employee("1001", "员工A", "开发部", 5000); |
|||
Employee emp2 = new Employee("1002", "员工B", "测试部", 2800); |
|||
|
|||
// 打印初始信息
|
|||
System.out.println("===== 第一个员工信息 ====="); |
|||
emp1.printInfo(); |
|||
|
|||
System.out.println("===== 第二个员工信息 ====="); |
|||
emp2.printInfo(); |
|||
|
|||
// 涨薪操作
|
|||
emp1.raiseSalary(10); |
|||
System.out.println("===== 涨薪10%后员工1信息 ====="); |
|||
emp1.printInfo(); |
|||
|
|||
// 修改部门
|
|||
emp2.setDepartment("产品部"); |
|||
System.out.println("===== 修改部门后员工2信息 ====="); |
|||
emp2.printInfo(); |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 83 KiB |
Loading…
Reference in new issue