用jsp写出记忆曲线的表格(用学习新概念英语做例子)
第一步:首先要导入包
import java.util.*;
import java.text.*;
第二步:再做出一个表格
<table border="1px">//表格需要边框
<tr>//第一行
<td>日期</td>//第几天(第一行的第一列)
<td>新学习</td>//新学习第几篇的课文(第一行第二列)
<td>复习前一天</td>//复习前一天的内容(第一行的第三列)
<td>复习前二天</td>
<td>复习前四天</td>
<td>复习前七天</td>
<td>复习前十五天</td>
</tr>
<%
Date today=new Date();//因为有日期,所以先获取当前日子的时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//选择当前日子的格式
int grount=72;//一共要学习72篇课文
int days=grount+15;//因为15天是最后的周期 才能把全部72篇课文复习完
//循环输出85天的列表
for(int i=0;i<days;i++){ //编号第一天是0开始到第85天的编号是84
Calendar cal=new GregorianCalendat();//获取日历对象进行运算(因为日历是抽象类,所以要用它的子类Gregorian来创建)
cal.setTime(today);//把当天的时间作为日历的初始值
cal.add(Calendar.DATE,i);//你循环多少次,就用你当天的日期加上循环的次数,(比如:今天是5月15,我循环一次,就是加一天就是5月16号,我再循 一次就16号的基础上再加1就是17号)
String day=sdf.format(cal.getTime());//输出日期
String task="";//新学习第几篇(我先给它初始值为空)
String task1="";//复习前一天(我先给它初始值为空)
String task2="";//复习前二天(我先给它初始值为空)
String task3="";//复习前四天(我先给它初始值为空)
String task4="";//复习前七天(我先给它初始值为空)
String task5="";//复习前十五天(我先给它初始值为空)
if(i<=grount-1){//新学习
task=i+1+"";//如果编号i小于或者等于71就输出i+1的数
}else
task="--";//否则就输出--
if(i<=0||i>=grount+1){//复习前一天
task1=i+"";//如果编号i小于或者等于0时或者编号i大于等于73时就输出i编号的数值(注意:比如编号为0就代表第1个位置也就是第一天)
}else
task="--";
if(i-1<=0||i-1>=grount+1){
task1=i-1+"";//复习前两天的算法
}else
task="--";
if(i-3<=0||i-3>=grount+1){
task1=i-3;//复习前四天的算法
}else
task="--";
if(i-6<=0||i-6>=grount+1){
task1=i-6;//复习前七天的算法
}else
task="--";
if(i-14<=0||i-14>=grount+1){
task1=i-14;//复习前十五天的算法
}else
task="--";
%>
<tr>//第二行
<td><%=day%></td>//我先在日期用123这样的数字表示
<td><%=task%></td>
<td><%=task1%></td>
<td><%=task2%></td>
<td><%=task3%></td>
<td><%=task4%></td>
<td><%=task5%></td>
</tr>
<%}%>
注意:<%%>这对符号里面的表示的是java执行的代码段
</table>
执行代码之后是这样的页面: