利用单向链表,实现学生管理系统java练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java作业:
4-13.参照例4-23,利用单向链表,实现学生管理系统。解:
运行图:
A.主菜单
B.增加学生并且打印学生信息
C.删除学生信息
D.修改学生信息
E.查找学生信息
代码实现:
(1).单向链结点LinkListElement类
public class LinkListElement {
protected Object data;
protected LinkListElement nextElement;
public LinkListElement(Object v ,LinkListElement next)
{
data=v;
nextElement=next;
}
public LinkListElement(Object v)
{
data=v;
nextElement=null;
}
public LinkListElement next()
{
return nextElement;
}
public void setNext (LinkListElement next){
nextElement=next;
}
public Object value(){
return data;
}
public void setValue (Object value){
data=value;
}
}
(2).单向链表LinkList类描述
public class LinkList {
protected int count;
protected LinkListElement head;
public LinkList(){
head=null;
count=0;
}
public boolean isEmpty(){
return count==0;
}
public void addToTail(Object value){
LinkListElement temp=new LinkListElement(value,null);
if(head!=null){
LinkListElement finger=head;
while(finger.next()!=null){
finger=finger.next();
}
finger.setNext(temp);
}
else head=temp;
count++;
}
public Object remove(Object value){
LinkListElement finger=head;
LinkListElement previous=null;
while(finger!=null&&!finger.value().equals(value)){
previous=finger;
finger=finger.next();
}
if(finger!=null){
if(previous==null){
head=finger.next();
}else{
previous.setNext(finger.next());
}
count--;
return finger.value();
}
return null;
}
}
(3).封装好的学生类
import java.io.*;
public class Student {
public String id;
public String name;
public String grade;
public String sclass;
public String qq;
public static InputStreamReader isr=new InputStreamReader(System.in);
public static BufferedReader br= new BufferedReader(isr);
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public String getSclass() {
return sclass;
}
public void setSclass(String sclass) {
this.sclass = sclass;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public Student(String id, String name, String grade,String sclass,String qq ){ this.id=id;
=name;
this.grade=grade;
this.sclass=sclass;
this.qq=qq;
}
public Student()throws Exception{
System.out.println("输入学生学号");
id=br.readLine();
System.out.println("输入学生姓名");
name=br.readLine();
System.out.println("输入学生年级");
grade=br.readLine();
System.out.println("输入学生班级");
sclass=br.readLine();
System.out.println("输入学生qq");
qq=br.readLine();
}