Java 实现简单的根据艾斯浩宾遗忘曲线动态生成计划表

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;
        }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值