commit
0f14e46f99
2 changed files with 126 additions and 0 deletions
@ -0,0 +1,93 @@ |
|||||
|
// 银行账户类:封装账户属性和操作
|
||||
|
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; // 初始余额固定为0
|
||||
|
} |
||||
|
|
||||
|
// 3. 封装的方法:对外提供安全的访问/操作入口
|
||||
|
// 获取账户号(账户号不可修改,无setter方法)
|
||||
|
public String getAccountNumber() { |
||||
|
return accountNumber; |
||||
|
} |
||||
|
|
||||
|
// 获取户主姓名
|
||||
|
public String getOwnerName() { |
||||
|
return ownerName; |
||||
|
} |
||||
|
|
||||
|
// 修改户主姓名
|
||||
|
public void setOwnerName(String ownerName) { |
||||
|
this.ownerName = ownerName; |
||||
|
} |
||||
|
|
||||
|
// 查询余额(仅查询,不允许直接修改)
|
||||
|
public double getBalance() { |
||||
|
return balance; |
||||
|
} |
||||
|
|
||||
|
// 存款操作(仅允许存入正数)
|
||||
|
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) { |
||||
|
if (amount <= balance) { |
||||
|
balance -= amount; |
||||
|
System.out.println("✅ 取款成功!当前余额:" + balance + " 元"); |
||||
|
} else { |
||||
|
System.out.println("❌ 取款失败:余额不足!当前余额:" + balance + " 元,取款金额:" + amount + " 元"); |
||||
|
} |
||||
|
} else { |
||||
|
System.out.println("❌ 取款失败:金额必须大于0!"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 测试主方法:直接在本类中运行,无需额外创建测试类
|
||||
|
public static void main(String[] args) { |
||||
|
// 1. 创建一个银行账户(账户号:6228481234567890,户主:李四)
|
||||
|
BankAccount myAccount = new BankAccount("6228481234567890", "李四"); |
||||
|
|
||||
|
// 2. 打印账户初始信息
|
||||
|
System.out.println("===== 账户初始信息 ====="); |
||||
|
System.out.println("账户号:" + myAccount.getAccountNumber()); |
||||
|
System.out.println("户主姓名:" + myAccount.getOwnerName()); |
||||
|
System.out.println("初始余额:" + myAccount.getBalance() + " 元"); |
||||
|
|
||||
|
// 3. 测试存款操作
|
||||
|
System.out.println("\n===== 测试存款 ====="); |
||||
|
myAccount.deposit(2000); // 存入2000元(合法)
|
||||
|
myAccount.deposit(-500); // 存入负数(非法)
|
||||
|
|
||||
|
// 4. 测试取款操作
|
||||
|
System.out.println("\n===== 测试取款 ====="); |
||||
|
myAccount.withdraw(800); // 取出800元(合法)
|
||||
|
myAccount.withdraw(1500); // 取出1500元(余额不足)
|
||||
|
myAccount.withdraw(-200); // 取出负数(非法)
|
||||
|
|
||||
|
// 5. 修改户主姓名
|
||||
|
System.out.println("\n===== 测试修改户主姓名 ====="); |
||||
|
myAccount.setOwnerName("李四五"); |
||||
|
System.out.println("修改后的户主姓名:" + myAccount.getOwnerName()); |
||||
|
|
||||
|
// 6. 打印最终账户信息
|
||||
|
System.out.println("\n===== 账户最终信息 ====="); |
||||
|
System.out.println("账户号:" + myAccount.getAccountNumber()); |
||||
|
System.out.println("户主姓名:" + myAccount.getOwnerName()); |
||||
|
System.out.println("最终余额:" + myAccount.getBalance() + " 元"); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,33 @@ |
|||||
|
// 注意:文件开头无任何package语句!
|
||||
|
// 文件名:DataCleaner.java,放在C:\Users\ZRL\Desktop\SensorData\ 下
|
||||
|
public class DataCleaner { |
||||
|
public static void main(String[] args) { |
||||
|
int[] sensorData = {85, -5, 92, 0, 105, 999, 88, 76}; |
||||
|
int validSum = 0; |
||||
|
int validCount = 0; |
||||
|
|
||||
|
for (int data : sensorData) { |
||||
|
// 致命错误:传感器掉线
|
||||
|
if (data == 999) { |
||||
|
System.out.println("致命错误:传感器掉线,终止处理"); |
||||
|
break; |
||||
|
} |
||||
|
// 无效数据:越界值
|
||||
|
if (data <= 0 || data > 100) { |
||||
|
System.out.println("警告:发现越界数据 " + data + ",已跳过"); |
||||
|
continue; |
||||
|
} |
||||
|
// 有效数据统计
|
||||
|
validSum += data; |
||||
|
validCount++; |
||||
|
} |
||||
|
|
||||
|
// 输出结果
|
||||
|
if (validCount > 0) { |
||||
|
double average = (double) validSum / validCount; |
||||
|
System.out.printf("有效数据平均值:%.2f%n", average); |
||||
|
} else { |
||||
|
System.out.println("无有效数据"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue