• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java实现控制台操作的学生管理系统

java实例 海叔叔 4年前 (2021-09-27) 50次浏览 已收录 0个评论

本文由搞代码网为大家展示了java实现控制台操作的学生管理系统》的代码案例,请各位coder不吝赐教,也欢迎coder点赞收藏转发,感谢

package com.iflytek.studentmanagesystem.view;

import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

import com.iflytek.studentmanagesystem.pojo.Student;
import com.iflytek.studentmanagesystem.service.StudentService;
import com.iflytek.studentmanagesystem.service.impl.StudentServiceImpl;
import com.iflytek.studentmanagesystem.util.DateUtil;

public class MainClass {

	public static void main(String[] args) {
		while (true) {
			System.out.println("#######欢迎使用xxxx学生管理系统#######");
			System.out.println("1.增加学生信息\n2.删除学生信息\n3.修改学生信息\n4.查询学生信息\n0.退出系统\n请选择:");
			Scanner sc = new Scanner(System.in);
			int select = sc.nextInt();
			if (select == 0) {
				break;
			} else if (select == 1) {
				doAddStudent();
			} else if (select == 2) {
				doDeleteStudent();
			} else if (select == 3) {
				doModifyStudent();
			} else if (select == 4) {
				doQeuryStudent();
			} else {
				System.out.println("错误的功能代码!");
			}
		}
	}

	private static void doAddStudent() {
		// TODO Auto-generated method stub
		StudentService service = new StudentServiceImpl();
		Scanner sc = new Scanner(System.in);
		System.out.println("输入要新增的学生的学号:");
		int number = sc.nextInt();
		if (service.queryByNumber(number) != null) {
			System.out.println("该学号对应的学生信息已经存在!");
			return;
		}
		sc.nextLine(); // 消除前面输入整数留下的回车符
		System.out.println("输入要新增的学生姓名:");
		String name = sc.nextLine();
		System.out.println("请输入要新增的学生性别:");
		String gender = sc.nextLine();
		System.out.println("请输入要新增的学生出生日期(如1990-1-1):");
		String birthday = sc.nextLine();
		System.out.println("请输入要新增的学生入学日期(如2019-9-1):");
		String entranceday = sc.nextLine();

		Student stu = new Student();
		stu.setNumber(number);
		stu.setName(name);
		stu.setGender(gender);
		stu.setBirthday(DateUtil.str2date(birthday));
		stu.setEntranceday(DateUtil.str2date(entranceday));

		if (1 == service.add(stu)) {
			System.out.println("学生信息新增完成!");
		} else {
			System.out.println("学生信息增加失败!");
		}
	}

	private static void doDeleteStudent() {
		StudentService service = new StudentServiceImpl();
		Scanner sc = new Scanner(System.in);
		System.out.println("输入要删除的学生的学号:");
		int number = sc.nextInt();
		if (0 == service.delete(number)) {
			System.out.println("学生信息不存在,删除失败!");
		} else {
			System.out.println("学生信息删除完成!");
		}
	}

	private static void doModifyStudent() {
		StudentService service = new StudentServiceImpl();
		Scanner sc = new Scanner(System.in);
		System.out.println("输入要修改的学生的学号:");
		int number = sc.nextInt();
		if (service.queryByNumber(number) == null) {
			System.out.println("该学号对应的学生信息不存在,无法修改!");
			return;
		}
		sc.nextLine();
		System.out.println("输入要修改的学生新的姓名:");
		String name = sc.nextLine();
		System.out.println("请输入要修改的学生新的性别:");
		String gender = sc.nextLine();
		System.out.println("请输入要修改的学生新的出生日期(如1990-1-1):");
		String birthday = sc.nextLine();
		System.out.println("请输入要修改的学生新的入学日期(如2019-9-1):");
		String entranceday = sc.nextLine();

		Student stu = new Student();
		stu.setNumber(number);
		stu.setName(name);
		stu.setGender(gender);
		stu.setBirthday(DateUtil.str2date(birthday));
		stu.setEntranceday(DateUtil.str2date(entranceday));

		if (1 == service.modify(stu)) {
			System.out.println("学生信息修改完成!");
		} else {
			System.out.println("学生信息修改失败!");
		}

	}

	private static void doQeuryStudent() {
		StudentService service = new StudentServiceImpl();
		while (true) {
			System.out.println("1.按学号查询\n2.按姓名查询\n3.查看所有\n4.按年龄降序查看所有\n0.返回\n请选择:");
			Scanner sc = new Scanner(System.in);
			int select = sc.nextInt();
			if (select == 0) {
				break;
			} else if (select == 1) {
				System.out.println("输入要查询的学生的学号:");
				int number = sc.nextInt();
				Student stu = service.queryByNumber(number);
				if (stu == null) {
					System.out.println("未查询到相关信息");
				} else {
					System.out.println("查询到学生的信息:\n" + stu);
				}
			} else if (select == 2) {
				System.out.println("输入要查询的学生的姓名:");
				String name = sc.next();
				List<Student> stus = service.queryByName(name);
				if (stus.size() == 0) {
					System.out.println("未查询到相关信息");
				} else {
					System.out.println("查询到学生的信息:");
					for (int i = 0; i < stus.size(); i++) {
						System.out.println(stus.get(i));
					}
				}
			} else if (select == 3) {
				System.out.println("所有学生的信息:");
				List<Student> stus = service.queryAll();
				for (int i = 0; i < stus.size(); i++) {
					System.out.println(stus.get(i));
				}
			} else if (select == 4) {
				System.out.println("按年龄降序排列学生的信息:");
				List<Student> stus = service.queryAll();
				stus.sort(new Comparator<Student>() {
					@Override
					public int compare(Student o1, Student o2) {
						return (int) (o2.getBirthday().getTime() - o1.getBirthday().getTime());
					}
				});
				for (int i = 0; i < stus.size(); i++) {
					System.out.println(stus.get(i));
				}
			} else {
				System.out.println("错误的功能代码!");
			}
		}
	}

}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java实现控制台操作的学生管理系统
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址