实现原理:将学生对象存入集合中(把集合作为临时数据库),然后通过对集合中学生对象进行操作,实现该功能。
一、创建学生类(class Student)
二、创建管理系统的接口(interface MangerStore)
管理系统接口中分别定义五个抽象方法:
1.添加学生方法 boolean addStudent(Student student);
2.查找学生方法 Student findStudent(String studentNo);
3.删除学生方法 boolean deleteStudent(String studentNo);
4.修改学生信息方法 Student updateStudent(String studentNo,String name,String sex,int age);
5.显示所有学生信息 void showAll();
三、
1.创建类(class Impl1)来实现管理系统的接口(interface MangerStore)的抽象方法,在本类中定义一个ArrayList集合来临时存放学生对象信息。
2.创建类(class Impl2)来实现管理系统的接口(interface MangerStore)的抽象方法,在本类中定义一个ArraySet集合来临时存放学生对象信息。
3.创建类(class Impl1)来实现管理系统的接口(interface MangerStore)的抽象方法,在本类中定义一个HashMap集合来临时存放学生对象信息。
(以上三种实现方法选一种即可,推荐使用map集合)
四、创建客户端类(class Client)进行测试。
好了话不多说,直接上代码,本文只实现了set集合这种方法。
学生类:
package com.xintouyun.sm.student;
public class Student {
private String name;
private String num;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
管理类接口:
package com.xintouyun.sm.mangerstore;
import com.xintouyun.sm.student.Student;
/**
*
* @author Jianghaoqiang
*
*/
public interface MangerStore {
/**
*添加学生方法
* @param student 对象为学生对象
* @return 添加成功返回true,添加失败返回false
*/
boolean addStudent(Student student);
/**
* 查找学生方法
* @param studentNo 根据学生学号查找
* @return 查找成功返回这个学生对象,查找失败返回null
*/
Student findStudent(String studentNo);
/**
* 删除学生方法
* @param studentNo 根据学生学号进行查找,然后删除
* @return 删除成功返回true,删除失败返回false
*/
boolean deleteStudent(String studentNo);
/**
* 修改学生信息方法
* @param studentNo 根据学生学号查找,然后修改信息
* @return 修改成功返回学生对象,修改失败返回null
*/
Student updateStudent(String studentNo,String name,String sex,int age);
/**
* 显示所有学生信息,包括姓名,学号,性别,年龄。
*/
void showAll();
}
管理实现类:
package com.xintouyun.sm.mangerstore.impl;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.xintouyun.sm.mangerstore.MangerStore;
import com.xintouyun.sm.student.Student;
public class Impl1 implements MangerStore{
//创建一个arraylist集合来存放学生对象
private List<Student> StuList=new ArrayList<Student>();
@Override
public boolean addStudent(Student student) {
// TODO Auto-generated method stub
return StuList.add(student);
}
@Override
public Student findStudent(String studentNo) {
// TODO Auto-generated method stub
Iterator<Student> it=StuList.iterator();
while(it.hasNext()) {
Student student=it.next();
if(studentNo.equals(student.getNum())) {
return student;
}
}
return null;
}
@Override
public boolean deleteStudent(String studentNo) {
// TODO Auto-generated method stub
Student existStudent=findStudent(studentNo);
if(existStudent!=null) {
return StuList.remove(existStudent);
}
return false;
}
@Override
public Student updateStudent(String studentNo,String name,String sex,int age) {
// TODO Auto-generated method stub
Student existStudent=findStudent(studentNo);
if(existStudent!=null) {
return existStudent;
}
return null;
}
@Override
public void showAll() {
// TODO Auto-generated method stub
System.out.println("学号\t姓名\t性别\t年龄");
Iterator<Student> it=StuList.iterator();
while(it.hasNext()) {
Student st=it.next();
System.out.println(st.getNum()+"\t"+st.getName()+"\t"+st.getSex()+"\t"+st.getAge());
}
return;
}
}
客户端(测试类):
package com.xintouyun.sm;
import java.util.Scanner;
import com.xintouyun.sm.mangerstore.impl.Impl1;
import com.xintouyun.sm.student.Student;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Impl1 data=new Impl1();
String nextor="y";
System.out.println("-----------------欢迎使用学生管理系统-------------------");
do {
Scanner sc=new Scanner(System.in);
System.out.println("1.添加2.查找3.删除4.修改5.显示");
int i=0;
i=sc.nextInt();
switch(i) {
case 1:
//Student s=new Student();
System.out.println("请输入学生学号");
String id=sc.next();
System.out.println("请输入学生年龄");
int age=sc.nextInt();
System.out.println("请输入学生姓名");
String name=sc.next();
System.out.println("请输入学生性别");
String sex=sc.next();
Student student=new Student();
student.setAge(age);
student.setName(name);
student.setNum(id);
student.setSex(sex);
//data.addStudent(s);
boolean result=data.addStudent(student);
if(result) {
System.out.println("添加成功");
data.showAll();
}else {
System.out.println("添加失败");
}
break;
case 2:
System.out.println("请输入要查找的学生学号");
id=sc.next();
Student existStudent=data.findStudent(id);
if(existStudent!=null) {
System.out.println("查找到学生信息如下");
System.out.println(existStudent.getAge()+existStudent.getName()+existStudent.getNum()+existStudent.getSex());
}else {
System.out.println("未查找到相关信息");
}
break;
case 3:
System.out.println("请输入要删除的学生学号");
id=sc.next();
result=data.deleteStudent(id);
if(result) {
System.out.println("删除成功");
data.showAll();
}else {
System.out.println("删除失败");
}
break;
case 4:
System.out.println("请输入要更新的学生学号");
id=sc.next();
existStudent=data.findStudent(id);
if(existStudent!=null) {
System.out.println("请输入要更新的学生姓名");
existStudent.setName(sc.next());
System.out.println("请输入要更新的学生年龄");
existStudent.setAge(sc.nextInt());
System.out.println("请输入要更新的学生性别");
existStudent.setSex(sc.next());
System.out.println("更新成功");
}else {
System.out.println("更新失败");
}
break;
case 5:
data.showAll();
break;
}System.out.println("是否继续y/n");
nextor=sc.next();
}while(nextor.equalsIgnoreCase("y"));
}
}
说明:本文只实现了简单的管理系统功能,没有考虑系统的健壮性,没有进行异常处理,接口已经写好,另外两种实现方法我还没来得及写,有兴趣可以试着写一下。