Java实现简单学生信息管理系统

Java实现简单学生信息管理系统

Java实现简单学生信息管理系统

public class Student {
	private String sno;
	private String sname;
	private String sdept;
	Student(){}
	public String getSno() {
		return sno;
	}
	public void setSno(String sno) {
		this.sno = sno;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getSdept() {
		return sdept;
	}
	public void setSdept(String sdept) {
		this.sdept = sdept;
	}
}
public interface IStudentDAO {
	abstract void insertStudent(int index,Student stu);
	abstract void deleteStudent(String sno);
	abstract void updateStudent(Student stu);
	abstract Student findStudentBySno(String sno);
	abstract void displayStudentBySno(String sno);
	abstract void displayAllStudent();
}
import java.util.*;

public class StudentDAOImpl implements IStudentDAO{
	 StudentDAOImpl(){}
	LinkedList<Student> mylist=new LinkedList<Student>();
	public void insertStudent(int index,Student stu) {
		System.out.println("请输入学生学号");
		Scanner sca=new Scanner(System.in);
		String s = sca.nextLine();
		stu.setSno(s);
		System.out.println("请输入学生姓名");
		s=sca.next();
		stu.setSname(s);
		System.out.println("请输入学生部门");
		s=sca.next();
		stu.setSdept(s);
		mylist.add(index,stu);
	}
	
	public void deleteStudent(String sno) {
		mylist.remove(findStudentBySno(sno) );
	}
	
	public void updateStudent(Student stu) {
		System.out.println("请输入学生新的学号");
		Scanner sca=new Scanner(System.in);
		String s = sca.nextLine();
		stu.setSno(s);
		System.out.println("请输入学生新的姓名");
		s=sca.next();
		stu.setSname(s);
		System.out.println("请输入学生新的部门");
		s=sca.next();
		stu.setSdept(s);
	}
	
	public Student findStudentBySno(String sno) {
		int i;
		int index = 0;
		boolean flag=false;
		for(i=0;i<mylist.size();i++) {
			if(sno.equals(mylist.get(i).getSno())) {
				flag=true;
				index=i;
			}
		}
		if(flag==false) {
			System.out.println("没有找到该学生");
			return null;
		}
		else {
			return mylist.get(index);
		}
	}
	
	public void displayStudentBySno(String sno) {
		Student student=findStudentBySno(sno);
		System.out.println("学生学号为:"+student.getSno());
		System.out.println("学生姓名为:"+student.getSname());
		System.out.println("学生部门为:"+student.getSdept());
	}
	
	public void displayAllStudent() {
		int i;
		for(i=0;i<mylist.size();i++) {
			System.out.println("第"+(i+1)+"名学生学号为:");
			System.out.println(mylist.get(i).getSno());
			System.out.println("第"+(i+1)+"名学生姓名为:");
			System.out.println(mylist.get(i).getSname());
			System.out.println("第"+(i+1)+"名学生部门为:");
			System.out.println(mylist.get(i).getSdept());
		}
	}
}
import java.util.*;
public class MainClass {
	static int menu(Scanner scanner) {
		int choice = -1;
		System.out.printf("\n");
		System.out.printf("\t\t\t  学生信息管理系统功能菜单		\n");
		System.out.printf("\t\t\t  =======================		\n");
		System.out.printf("\t\t\t  1.插入学生信息记录			\n");
		System.out.printf("\t\t\t  2.删除学生信息记录			\n");
		System.out.printf("\t\t\t  3.更新学生信息记录			\n");
		System.out.printf("\t\t\t  4.显示所有学生信息记录		\n");
		System.out.printf("\t\t\t  5.按学号查询指定学生信息		\n");
		System.out.printf("\t\t\t  0.结束程序				    \n");
		System.out.printf("\t\t\t  =======================		\n");
		System.out.printf("\t\t\t  请输入您的选择:		        \n");
		choice = scanner.nextInt();
		return choice;
	}
	public static void main(String[] args) {
		int menuChoice = -1;
		Scanner scanner = new Scanner(System.in);
		StudentDAOImpl op=new StudentDAOImpl();
		do {
			menuChoice = menu(scanner);
			switch (menuChoice) {
			
			// 插入学生信息记录
			case 1:
				int input1;
				System.out.println("请输入插入学生位置,第一个节点为0");
				input1 = scanner.nextInt();
				Student stu=new Student();
				op.insertStudent(input1,stu);
				break;
				
			// 删除学生信息记录
			case 2:
				System.out.println("请输入要删除的学生学号");
				String input2 = scanner.next();
				op.deleteStudent(input2);
				break;
				
			// 修改更新学生信息记录
			case 3:
				System.out.println("请输入要修改更新的学生学号");
				String input3 = scanner.next();
				op.updateStudent(op.findStudentBySno(input3));
				break;
				
			// 显示所有学生信息记录
			case 4:
				op.displayAllStudent();
				break;
				
			// 按学号查询指定学生信息
			case 5:
				System.out.println("请输入查询学生学号");
				String input ;
				input= scanner.next();
				op.displayStudentBySno(input);
				break;
			}
		} while (menuChoice != 0);
		scanner.close();
	}
}