这里是我想存入链表的操作。
try {
//从数据库中获取所有课程
getclass.showclass();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
//初始化链表
LinkedList classlist = new LinkedList();
//定义链表连接变量i
int z = -1;
//while循环获取课程信息并存入链表classlist。
try {
while (getclass.rs.next()) {getclass.setName(getclass.rs.getString("name"));
getclass.setOther(getclass.rs.getString("other"));
getclass.setTeacher(getclass.rs.getString("teacher"));
getclass.setTime(getclass.rs.getString("time"));
getclass.setTwoclasses(getclass.rs.getString("twoclasses"));
//存入链表
String times = getclass.rs.getString("time");
int intTime = Integer.parseInt(times);
//通过循环,把具有一周上多次课的课程多次加入链表。
for (int a = 0; a <intTime; a++) {
//z++;
// classlist.add(z, getclass);
//classlist.add(getclass);
classlist.add(getclass);
}}
} catch (SQLException e) {
System.out.print(e.getMessage());
}
try {
//从数据库中获取所有课程
getclass.showclass();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
//初始化链表
LinkedList classlist = new LinkedList();
//定义链表连接变量i
int z = -1;
//while循环获取课程信息并存入链表classlist。
try {
while (getclass.rs.next()) {getclass.setName(getclass.rs.getString("name"));
getclass.setOther(getclass.rs.getString("other"));
getclass.setTeacher(getclass.rs.getString("teacher"));
getclass.setTime(getclass.rs.getString("time"));
getclass.setTwoclasses(getclass.rs.getString("twoclasses"));
//存入链表
String times = getclass.rs.getString("time");
int intTime = Integer.parseInt(times);
//通过循环,把具有一周上多次课的课程多次加入链表。
for (int a = 0; a <intTime; a++) {
//z++;
// classlist.add(z, getclass);
//classlist.add(getclass);
classlist.add(getclass);
}}
} catch (SQLException e) {
System.out.print(e.getMessage());
}
int listsize = classlist.lastIndexOf(getclass) + 1;
int listsize2 = classlist.lastIndexOf(getclass) + 1;
Random random = null;
PrintWriter out = response.getWriter();out.print("<center>");
out.print("<br>");
out.print("<br>");
out.print("显示课表如下");
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<table border=4 width=600>");int k;
int j;
for (k = 0; k < intY + 1; k++) {
out.print("<tr>");
for (j = 0; j < intX + 1; j++) {
out.print("<td>");
out.print(" ");
int a = k;
if (k != 0 && j == 0) {
out.print("第" + a + "节");
} else {
out.print("");
int b = j;
if (j != 0) {
if (k == 0) {
out.print("星期" + b);
} else {
}
} else {
out.print("");
}
}
if (k != 0 && j != 0 && listsize2 != 0) {
//----------------------------------
//ddk = random.nextInt();
// out.print(classlist.getFirst());
//ddk= random.nextInt(listsize2);//ddk=listsize2-1;//classlist.get(tests);
classlist.get(listsize2 - 1);
//classlist.getLast();
listsize2--;
out.print(getclass.getName());
} else if (k != 0 && j != 0) {
out.print(" ");
}out.print("</td>");
}
out.print("</tr>");
}
out.print("</table>");
out.print("<br>");
out.print("</center>");
//out.print(ddk);
我是新手,代码写得太乱,还请大家指教。
谢谢。
LinkedList aList=new LinkedList();
for (...){
Sting aString="a"+i; //setXXX()方法类似
aList.add(aString);
}
getclass.setOther(getclass.rs.getString("other"));
getclass.setTeacher(getclass.rs.getString("teacher"));
getclass.setTime(getclass.rs.getString("time"));
getclass.setTwoclasses(getclass.rs.getString("twoclasses"));
这种写法有问题
试着可以把getclass这个当成一个VO类//比如getclass为:GetClassVO
然后:
while(rs.next()){
GetClassVO vo=new GetClassVO();
vo.set...(rs.getXXX());
....}
上面的只是个你一个思路而已
jdbc的用法写简单一些,压入栈表写一次就行,栈表中轮循用iterator()