Java实验-学生管理系统

Posted 康小庄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实验-学生管理系统相关的知识,希望对你有一定的参考价值。

针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:
添加学生:通过键盘录入学生信息,添加到集合中
删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
查看学生:将集合中的学生对象信息进行展示
退出系统:结束程序
实现步骤:

  1. 定义学生类,包含以下成员变量
    private String sid // 学生id
    private String name // 学生姓名
    private String age // 学生年龄
    private String address // 学生所在地
  2. 学生管理系统主界面的搭建步骤
    2.1 用输出语句完成主界面的编写
    2.2 用Scanner实现键盘输入
    2.3 用switch语句完成选择的功能
    2.4 用循环完成功能结束后再次回到主界面
  3. 学生管理系统的添加学生功能实现步骤
    3.1 定义一个方法,接收ArrayList<Student>集合
    3.2 方法内完成添加学生的功能
    ①键盘录入学生信息
    ②根据录入的信息创建学生对象
    ③将学生对象添加到集合中
    ④提示添加成功信息
    3.3 在添加学生的选项里调用添加学生的方法
  4. 学生管理系统的查看学生功能实现步骤
    4.1 定义一个方法,接收ArrayList<Student>集合
    4.2 方法内遍历集合,将学生信息进行输出
    4.3 在查看所有学生选项里调用查看学生方法
  5. 学生管理系统的删除学生功能实现步骤
    5.1 定义一个方法,接收ArrayList<Student>集合
    5.2 方法中接收要删除学生的学号
    5.3 遍历集合,获取每个学生对象
    5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
    5.5 在删除学生选项里调用删除学生的方法
  6. 学生管理系统的修改学生功能实现步骤
    6.1 定义一个方法,接收ArrayList<Student>集合
    6.2 方法中接收要修改学生的学号
    6.3 通过键盘录入学生对象所需的信息,并创建对象
    6.4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同,则使用新学生对象替换当前学生对象:
    6.5 在修改学生选项里调用修改学生的方法
  7. 退出系统
    使用外层循环添加标记,终止系统
    Student
public class Student 
	// 学生id
	private String sid;
	// 学生姓名
	private String name;
	// 学生年龄
	private String age;
	// 学生所在地
	private String address;

	public Student() 
		super();
	

	public Student(String sid, String name, String age, String address) 
		super();
		this.sid = sid;
		this.name = name;
		this.age = age;
		this.address = address;
	

	public String getSid() 
		return sid;
	

	public void setSid(String sid) 
		this.sid = sid;
	

	public String getName() 
		return name;
	

	public void setName(String name) 
		this.name = name;
	

	public String getAge() 
		return age;
	

	public void setAge(String age) 
		this.age = age;
	

	public String getAddress() 
		return address;
	

	public void setAddress(String address) 
		this.address = address;
	


StudentManagerSystem

public class StudentManagerSystem 
	public static Scanner sc = new Scanner(System.in);

	// 创建集合对象,用于存储学生数据
	static ArrayList<Student> array = new ArrayList<Student>();

	public static void main(String[] args) 
		// 用Scanner实现键盘录入数据
		boolean flag = true;
		if (flag) 
			System.out.println("----欢迎来到学校人事管理系统,请先登录----");
			// 用循环完成再次回到主界面
			while (true) 
				// 用输出语句完成主界面的编写
				// 1,庄康,男,2001年,800,1,计算机
				// 1,庄康,男,2001年,北京,经理,3400.00
				System.out.println("请根据对应序号进行选择");
				System.out.println("1 添加学生");
				System.out.println("2 查看学生");
				System.out.println("3 删除学生");
				System.out.println("4 修改学生");
				System.out.println("5 退出");
				System.out.println("请输入你的选择:");
				String line = sc.nextLine();
				// 用switch语句完成操作的选择
				switch (line) 
				case "1":
					addStudent(array);
					break;
				case "2":
					findAllStudent(array);
					break;
				case "3":
					deleteStudent(array);
					break;
				case "4":
					updateStudent(array);
					break;
				case "5":
					System.out.println("谢谢使用");
					System.exit(0); // JVM退出
				default:
					System.out.println("没有对应的操作,请重新选择");
				
			
		
	

	// 添加学生的方法
	private static void addStudent(ArrayList<Student> array) 
		String id = "";
		while (true) 
			System.out.print("输入学号:");
			id = sc.nextLine();
			boolean flag = false;
			for (int i = 0; i < array.size(); i++) 
				Student student = array.get(i);
				if (id.equals(student.getSid())) 
					flag = true;
					break;
				
			
			if (flag) 
				System.out.println("学号已被使用,重新输入!");
			 else 
				break;
			
		
		System.out.print("输入姓名:");
		String name = sc.nextLine();
		System.out.print("输入年龄:");
		String age = sc.nextLine();
		System.out.print("输入地址:");
		String address = sc.nextLine();
		Student student = new Student(id, name, age, address);
		array.add(student);
		System.out.println("添加学生成功!");

	

	// 查看学生
	private static void findAllStudent(ArrayList<Student> array) 
		if (array.size() == 0) 
			System.out.println("无学生信息,请重新选择");
			return;
		
		System.out.println();
		System.out.println("学号\\t\\t\\t\\t姓名\\t\\t\\t\\t年龄\\t\\t\\t居住地");
		System.out.println("------------");
		for (int x = 0; x < array.size(); x++) 
			Student s = array.get(x);
			System.out.println(s.getSid() + "\\t\\t\\t\\t" + s.getName() + "\\t\\t\\t\\t" + s.getAge() + "\\t\\t\\t\\t"
					+ s.getAddress() + "\\t\\t\\t\\t");
		
		System.out.println("------------");
	

	// 删除学生操作
	private static void deleteStudent(ArrayList<Student> array) 
		System.out.println("输入要删除的学号:");
		Student student = null;
		String id = sc.nextLine();
		int index = -1;
		for (int x = 0; x < array.size(); x++) 
			student = array.get(x);
			if (id.equals(student.getSid())) 
				index = x;
				break;
			
		
		if (index == -1) 
			System.out.println("学生信息不存在,返回主页面!");
			return;
		 else 
			array.remove(student);
			System.out.println("删除学生成功!");
		
	

	// 更新学生
	private static void updateStudent(ArrayList<Student> array) 
		findAllStudent(array);
		System.out.println("输入要更新的学生学号:");
		Student student = null;
		String id = sc.nextLine();
		int index = -1;
		for (int x = 0; x < array.size(); x++) 
			student = array.get(x);
			if (id.equals(student.getSid())) 
				index = x;
				break;
			
		
		if (index == -1) 
			System.out.println("学生信息不存在,返回主页面!");
			return;
		 else 
			System.out.print("输入学号:");
			String updateid = sc.nextLine();
			System.out.print("输入姓名:");
			String name = sc.nextLine();
			System.out.print("输入年龄:");
			String age = sc.nextLine();
			System.out.print("输入地址:");
			String address = sc.nextLine();
			Student updateStudent = new Student(updateid, name, age, address);
			int updateIndex = array.indexOf(student);
			array.set(updateIndex, updateStudent);
			System.out.println("更新学生成功!");
			findAllStudent(array);
		
	

以上是关于Java实验-学生管理系统的主要内容,如果未能解决你的问题,请参考以下文章

经典实验--学生成绩管理系统

制作学生信息(姓名,学号,成绩)管理系统(用Java)

有一个学生数据库,有以下关系模式构成: 学生(学号,姓名,性别,年龄,所在系)

C# 设计一个学生信息管理程序(控制台程序)

JAVA课程设计——学生成绩管理系统

案例十一:查询学生表的学号,姓名和所在年级