项目说明
本文使用单链表(SinglyList)制作学生信息管理系统(以下简称系统),本系统简单实现对学生信息的添加,修改,删除,查找的功能。
注1:没有单链表,可直接使用列表(ArrrayList)替代
注2:附详细代码
1.目的
简单实现对系统的增删改查功能
2.主要模块
3.次要模块
- 学生信息类(Students)
- 中文性别输入判断类 (DetermineGenderException)
4.组成结构
代码实现
1.创建学生信息类(Students)
/*
* 创建学生信息
* 1.姓名
* 2.性别
* 3.年龄
* */
public class Students {
private String name;
private String sex;
private int age;
public Students(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Students msg:" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'.';
}
}
2.创建添加学生信息类(AddStudentsInformation)
import demo04.SinglyList; //没有可导入ArrayList
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* 使用单链表录入学生信息
* */
public class AddStudentsInformation extends SearchStudentInformation{
private String name;
private String sex;
private int age;
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
public SinglyList<Students> addStudents(SinglyList<Students> students) throws Exception {
System.out.println("************添加学生信息**************");
System.out.println("根据提示添加,退出请在姓名处输入exit");
while (true){
try{
System.out.print("学生姓名:");
name=reader.readLine();
if(name.equals("exit")){
break;
}
setSex();
System.out.print("学生年龄:");
age=Integer.parseInt(reader.readLine());
Students student=new Students(name,sex,age);
students.insert(student);
}catch (Exception e){
System.out.println("输入有误,请重新输入....");
}
}
return students;
}
public String setSex() throws IOException {
while (true){
try{
System.out.print("学生性别:");
sex=reader.readLine();
GenderException(sex);
if(sex.equals("男")|| sex.equals("女")){
break;
}
}catch (DetermineGenderException e){
System.out.println(e.getMessage