首先定义任务类封装名称和完成状态,再通过集合存储任务并统计总数与完成数,最后计算完成率。示例中创建三个任务,输出总任务数、已完成数及完成率66.67%,核心逻辑清晰,适用于简单任务统计场景。
要实现任务完成情况的统计,核心是定义任务数据结构、记录状态,并通过逻辑计算完成比例或分类汇总。Java 提供了丰富的数据类型和集合工具来支持这类功能。下面介绍一种简单实用的实现方式。
定义任务类
每个任务通常包含名称、是否完成等基本信息。可以创建一个 Task 类来封装这些属性。
public class Task {
private String name;
private boolean completed;
public Task(String name, boolean completed) {
this.name = name;
this.completed = completed;
}
public boolean isCompleted() {
return completed;
}
// 可添加 getter 和 setter 方法}
使用集合存储任务并统计
将多个任务放入集合中,然后遍历统计已完成和总任务数,从而计算完成率。
import java.util.*;public class TaskStatistics { private List
tasks = new ArrayList<>(); public void addTask(Task task) { tasks.add(task); } public int getTotalCount() { return tasks.size(); } public int getCompletedCount() { int count = 0; for (Task task : tasks) { if (task.isCompleted()) { count++; } } return count; } public double getCompletionRate() { if (tasks.isEmpty()) return 0.0; return (double) getCompletedCount() / getTotalCount(); }}
示例调用与输出结果
创建几个任务,加入统计器,然后查看完成情况。
public class Main {
public static void main(String[] args) {
TaskStatistics stats = new TaskStatistics();
stats.addTask(new Task("编写文档", true));
stats.addTask(new Task("测试代码", false));
stats.addTask(new Task("修复bug", true));
System.out.println("总任务数: " + stats.getTotalCount());
System.out.println("已完成任务: " + stats.getCompletedCount());
System.out.println("完成率: " + String.format("%.2f%%", stats.getCompletionRate() * 100));
}}
输出结果会是:
总任务数: 3已完成任务: 2
完成率: 66.67%
这种实现方式简洁明了,适用于小型系统或本地任务管理。如果需要更复杂的功能(如按分类、优先级、时间维度统计),可以在

long completed = tasks.stream().filter(Task::isCompleted).count();
基本上就这些。不复杂但容易忽略的是数据的一致性和状态更新机制——确保任务状态变更能被正确记录和反映在统计中。








