import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
public class Ebbinghaus {
private static final Logger log = LoggerFactory.getLogger(Ebbinghaus.class);
private List<LearnRow> schemeTable = new ArrayList<>();//生成的计划表
private HashMap<Integer, LearnRow> DayToTabMap = new HashMap<>();//映射计划表中行元素信息 <天数,映射对应的计划表Row>
private LinkedHashMap<Integer, Integer> learnStateMap = new LinkedHashMap<>();//学习情况表 <当日计划表中是第几天,当日学习单词量>
private int sumWordSize;//总单词量
private int needLearnDay;//还需要学习的天数
private int learnedWordCount = 0;//学习过的单词数
private int nowDay = 1;//当前天数
class LearnRow {
private int toLearnIndex;//需要学习哪天的单词列表的索引
private List<Integer> toReviewList;
public LearnRow() {
}
public LearnRow(int toLearnIndex, List<Integer> toReviewList) {
this.toLearnIndex = toLearnIndex;
this.toReviewList = toReviewList;
}
@Override
public String toString() {
return "LearnRow{" +
"toLearnIndex=" + toLearnIndex +
", toReviewList=" + toReviewList +
'}';
}
public int getToLearnIndex() {
return toLearnIndex;
}
public void setToLearnIndex(int toLearnIndex) {
this.toLearnIndex = toLearnIndex;
}
public List<Integer> getToReviewList() {
return toReviewList;
}
public void setToReviewList(List<Integer> toReviewList) {
this.toReviewList = toReviewList;
}
Java 实现简单的根据艾斯浩宾遗忘曲线动态生成计划表
于 2023-04-23 23:04:28 首次发布