日期:2014-05-18 浏览次数:20706 次
import java.util.Scanner; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; class Node { public int BookStore; //图书库存量 public String BookNo; //图书编号 public String BookName; //图书名称 public int BookLend; //图书上架数量 public String BookPublishing;//图书出版社 public Node Next; //指向下一个Node对象的对象引用 public Node(){//只有一个节点 BookNo="000000"; BookName="书名未初始化"; BookLend=0; BookStore=0; BookPublishing="出版社未初始化"; Next = null; } public Node(Node eNext,Node t){//不止一个节点 BookNo=t.BookNo; BookName=t.BookName; BookLend=t.BookLend; BookStore=t.BookStore; BookPublishing=t.BookPublishing; Next = eNext; } public void setData(int eBookStore,int eBookLend,String eBookNo,String eBookName,String eBookPublishing){ //设置当前结点的值 BookNo = eBookNo; BookName = eBookName; BookPublishing = eBookPublishing; BookLend = eBookLend; BookStore = eBookStore; } public Node getData() {//获取当前节点的值 Node rNode =new Node(); rNode.BookNo=BookNo; rNode.BookName=BookName; rNode.BookPublishing=BookPublishing; rNode.BookLend=BookLend; rNode.BookStore=BookStore; rNode.Next=Next; return rNode; } public void setNext(Node dNext){ //设置当前节点的指针 Next = dNext; } //修改指针 public Node getNext() { //获取当前节点的指针 return Next; } //获得指向的对象引用 } class LinkList { private Node firstNode; private Node headNode=firstNode; String htm=""; public LinkList() { firstNode = null;}//建立空链表 public String visitAllNode() {//遍历表中每个结点,并串成一个字符串 Node nextNode = firstNode; String s = "<table><tr><td>书号</td><td>书名</td><td>库存量</td><td>上架数量</td><td>出版社</td></tr>"; while (nextNode != null) { Node number = nextNode.getData(); s = s +"<tr>"; s = s +"<td>"+number.BookNo + "</td>"; s = s +"<td>"+number.BookName + "</td>"; s = s +"<td>"+number.BookStore + "</td>"; s = s +"<td>"+number.BookLend + "</td>"; s = s +"<td>"+number.BookPublishing + "</td></tr>"; nextNode = nextNode.getNext(); } s+="</table>"; return s; } public String vN() {//遍历表中每个结点,并串成一个字符串 Node nextNode = firstNode; String s = "<table><tr><td>书号</td><td>书名</td><td>库存量</td><td>上架数量</td><td>出版社</td></tr>"; if(nextNode==null){ s="没有可供删除的结点!"; } else{ while (nextNode != null) { Node number = nextNode.getData(); s = s +"<tr>"; s = s +"<td>"+number.BookNo + "</td>"; s = s +"<td>"+number.BookName + "</td>"; s = s +"<td>"+number.BookStore + "</td>"; s = s +"<td>"+number.BookLend + "</td>"; s = s +"<td>"+number.BookPublishing + "</td>"; s = s +"<td><a href=\"DemoLink?menu=1&no="+number.BookNo+"\" target=\"_self\">删 除</a></td></tr>"; nextNode = nextNode.getNext(); } s+="</table>"; } return s; } public void insertAtEnd(Node tt) //在链表后插入结点 { firstNode = new Node(firstNode,tt); } public void deleteAtID(String data