java编写一个电表类,可以实现如下功能 set方法设置最新的电表读数 query方法显示电表ID,电表户主姓名,上次电表读数、本次电表读数,本次用电数,假设每度电的价格为0.5元,计算并显示本次电费
时间: 2024-11-25 07:11:01 浏览: 17
在Java中,你可以创建一个名为ElectricMeter的类,它包含电表的基本属性如电表ID、户主姓名以及电表读数等,并提供set和query方法来实现所需的功能。以下是一个简单的电表类的示例:
```java
public class ElectricMeter {
private String meterId;
private String ownerName;
private double previousReading;
private double currentReading;
// 构造函数用于初始化电表数据
public ElectricMeter(String meterId, String ownerName) {
this.meterId = meterId;
this.ownerName = ownerName;
this.previousReading = 0; // 默认值,实际应用中可能从数据库获取
this.currentReading = 0;
}
// 设置电表读数
public void setReading(double reading) {
if (reading >= previousReading) {
this.currentReading = reading;
} else {
throw new IllegalArgumentException("电表读数不能小于之前记录的读数");
}
this.previousReading = currentReading;
}
// 查询电表信息
public void query() {
double electricityConsumption = currentReading - previousReading;
double electricityCost = electricityConsumption * 0.5;
System.out.println("电表ID: " + meterId);
System.out.println("户主姓名: " + ownerName);
System.out.println("上次电表读数: " + previousReading);
System.out.println("本次电表读数: " + currentReading);
System.out.println("本次用电数: " + electricityConsumption + " 千瓦时");
System.out.println("本次电费: " + electricityCost + " 元");
}
}
```
在这个类中,`setReading`方法确保新读数不会低于之前的读数,如果需要的话,可以在实际应用中添加数据库操作。`query`方法则计算并打印当前的电费。
阅读全文