Java宿舍洗衣机统计
引言
在大学宿舍中,洗衣机是一个非常重要的设备。为了了解学生们在宿舍中使用洗衣机的情况,我们可以使用Java编程语言来开发一个简单的统计系统。这个系统可以帮助我们收集和分析洗衣机的使用数据,让我们更好地管理和维护宿舍设施。本文将介绍如何使用Java编写一个宿舍洗衣机统计系统,并提供示例代码帮助读者理解实现细节。
系统需求
在开始编写代码之前,我们需要明确系统的需求。根据需求,我们需要实现以下功能:
- 记录每个学生使用洗衣机的次数。
- 统计洗衣机的总使用次数。
- 统计洗衣机的平均使用次数。
- 按学生姓名查询洗衣机使用次数。
数据模型
为了实现上述功能,我们需要定义适当的数据模型。在本例中,我们将使用一个Student
类来表示学生,并使用一个WashingMachine
类来表示洗衣机。每个Student
对象将有一个姓名和使用次数的属性,而每个WashingMachine
对象将有一个使用次数的属性。
以下是Student
类的示例代码:
public class Student {
private String name;
private int usageCount;
public Student(String name) {
this.name = name;
this.usageCount = 0;
}
public String getName() {
return name;
}
public int getUsageCount() {
return usageCount;
}
public void incrementUsageCount() {
usageCount++;
}
}
以下是WashingMachine
类的示例代码:
public class WashingMachine {
private int usageCount;
public WashingMachine() {
this.usageCount = 0;
}
public int getUsageCount() {
return usageCount;
}
public void incrementUsageCount() {
usageCount++;
}
}
统计系统实现
现在,我们可以开始编写宿舍洗衣机统计系统的核心逻辑。我们将创建一个LaundryStatistics
类来实现统计功能。该类将包含一个Map
对象,用于存储每个学生的使用次数。我们将使用学生的姓名作为键,使用次数作为值。
以下是LaundryStatistics
类的示例代码:
import java.util.HashMap;
import java.util.Map;
public class LaundryStatistics {
private Map<String, Student> studentMap;
private WashingMachine washingMachine;
public LaundryStatistics() {
this.studentMap = new HashMap<>();
this.washingMachine = new WashingMachine();
}
public void recordUsage(String studentName) {
Student student = studentMap.getOrDefault(studentName, new Student(studentName));
student.incrementUsageCount();
washingMachine.incrementUsageCount();
studentMap.put(studentName, student);
}
public int getTotalUsageCount() {
return washingMachine.getUsageCount();
}
public double getAverageUsageCount() {
if (studentMap.isEmpty()) {
return 0;
}
int totalUsage = 0;
for (Student student : studentMap.values()) {
totalUsage += student.getUsageCount();
}
return (double) totalUsage / studentMap.size();
}
public int getUsageCountByStudent(String studentName) {
Student student = studentMap.get(studentName);
return student != null ? student.getUsageCount() : 0;
}
}
使用示例
现在我们已经编写了宿舍洗衣机统计系统的代码,让我们看看如何使用它。
public class Main {
public static void main(String[] args) {
LaundryStatistics statistics = new LaundryStatistics();
// 记录学生使用洗衣机的次数
statistics.recordUsage("张三");
statistics.recordUsage("李四");
statistics.recordUsage("张三");
statistics.recordUsage("王五");
// 获取洗衣机的总使用次数
int totalUsageCount = statistics.getTotalUsageCount();
System.out.println("洗衣机总使用次数:" + totalUsageCount);
// 获取洗衣机的平均使用次数
double averageUsageCount = statistics.getAverageUsageCount();