import java.util.HashMap;
public class Ebbinghaus{
public static int intSteps = 15;
public static int[] intMemory = {1,2,4,7,15};
public static void main(String[] args){
HashMap resultMap = new HashMap();
int resultDays = totalDaysInList();
for(int i=1;i<=intSteps;i++){
for(int j=1;j<=intSteps+resultDays;j++){
String strKey = "Day"+j;
HashMap valueMap = new HashMap();
if(resultMap.get(strKey)!=null){
valueMap = (HashMap)resultMap.get(strKey);
}
String strReview = "Review : ";
if(valueMap.get("Review")!=null){
strReview = (String) valueMap.get("Review");
}
if(i==j){
String strNew = "New : ";
if(valueMap.get("New")!=null){
strNew = (String) valueMap.get("New");
}
strNew += ("Step"+i+" ");
strReview += ("Step"+i+" ");
valueMap.put("New",strNew);
}else{
int loopNo = 0;
int beforeDays = 0;
do {
if(loopNo>=0){
beforeDays += intMemory[loopNo];
}
if(j == (i+beforeDays)){
strReview += ("Step"+i+" ");
}
loopNo++;
} while (loopNo<intMemory.length);
}
valueMap.put("Review",strReview);
resultMap.put(strKey, valueMap);
}
}
for(int j=1;j<=intSteps+resultDays;j++){
String strDay = "Day"+j;
System.out.println(strDay+":");
HashMap valueMap = (HashMap)resultMap.get(strDay);
if(valueMap.get("New") != null || "New : ".equals(valueMap.get("New"))){
System.out.println(" "+valueMap.get("New"));
}
System.out.println(" "+valueMap.get("Review"));
}
}
public static int totalDaysInList(){
int resultDays = 0;
int loopDay = 0;
do {
resultDays += intMemory[loopDay];
loopDay++;
} while (loopDay<intMemory.length);
return resultDays;
}
}
intSteps代表的是你要学习的单元数量。
生成结果:
Day1:
New : Step1
Review : Step1
Day2:
New : Step2
Review : Step1 Step2
Day3:
New : Step3
Review : Step2 Step3
Day4:
New : Step4
Review : Step1 Step3 Step4
Day5:
New : Step5
Review : Step2 Step4 Step5
Day6:
New : Step6
Review : Step3 Step5 Step6
Day7:
New : Step7
Review : Step4 Step6 Step7
Day8:
New : Step8
Review : Step1 Step5 Step7 Step8
Day9:
New : Step9
Review : Step2 Step6 Step8 Step9
Day10:
New : Step10
Review : Step3 Step7 Step9 Step10
Day11:
New : Step11
Review : Step4 Step8 Step10 Step11
Day12:
New : Step12
Review : Step5 Step9 Step11 Step12
Day13:
New : Step13
Review : Step6 Step10 Step12 Step13
Day14:
New : Step14
Review : Step7 Step11 Step13 Step14
Day15:
New : Step15
Review : Step1 Step8 Step12 Step14 Step15
Day16:
Review : Step2 Step9 Step13 Step15
Day17:
Review : Step3 Step10 Step14
Day18:
Review : Step4 Step11 Step15
Day19:
Review : Step5 Step12
Day20:
Review : Step6 Step13
Day21:
Review : Step7 Step14
Day22:
Review : Step8 Step15
Day23:
Review : Step9
Day24:
Review : Step10
Day25:
Review : Step11
Day26:
Review : Step12
Day27:
Review : Step13
Day28:
Review : Step14
Day29:
Review : Step15
Day30:
Review : Step1
Day31:
Review : Step2
Day32:
Review : Step3
Day33:
Review : Step4
Day34:
Review : Step5
Day35:
Review : Step6
Day36:
Review : Step7
Day37:
Review : Step8
Day38:
Review : Step9
Day39:
Review : Step10
Day40:
Review : Step11
Day41:
Review : Step12
Day42:
Review : Step13
Day43:
Review : Step14
Day44:
Review : Step15