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集合
    3.2 方法内完成添加学生的功能
    ①键盘录入学生信息
    ②根据录入的信息创建学生对象
    ③将学生对象添加到集合中
    ④提示添加成功信息
    3.3 在添加学生的选项里调用添加学生的方法
  4. 学生管理系统的查看学生功能实现步骤
    4.1 定义一个方法,接收ArrayList集合
    4.2 方法内遍历集合,将学生信息进行输出
    4.3 在查看所有学生选项里调用查看学生方法
  5. 学生管理系统的删除学生功能实现步骤
    5.1 定义一个方法,接收ArrayList集合
    5.2 方法中接收要删除学生的学号
    5.3 遍历集合,获取每个学生对象
    5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
    5.5 在删除学生选项里调用删除学生的方法
  6. 学生管理系统的修改学生功能实现步骤
    6.1 定义一个方法,接收ArrayList集合
    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实验-学生管理系统_第1张图片

你可能感兴趣的:(知识点补充,java,数据库,开发语言,eclipse,spring)