赞
踩
前言:最近练习了用Java语言实现简单的学生管理系统小项目,分享一下。
Ps:原创不易,请多多支持!
摘要分析如下:
实现的主要功能:
1,添加学生信息。
2,查询学生信息(实现了单个学生信息查询 & 所有学生信息查询)。
3,修改学生信息。
4,删除学生信息(实现了单个学生信息删除 & 所有学生信息删除)。
5,退出管理系统。
项目说明:
cn.yunhe.bean包:
Student:代表“学生实体类”。
cn.yunhe.utils包:
StudentTools:代表“工具类”。Scanner键盘录入工具类。
cn.yunhe.view包:
StudentFunction:代表“增、删、改、查功能”。
StudentView:代表“项目视图功能”。
源代码如下:
cn.yunhe.bean包:
- package cn.yunhe.bean;
-
- /**
- * @Auther: xydsr
- * @Date: 2023/4/3 16:58
- * @Desc: 学生管理系统
- * 创建学生类,定义私有成员变量,
- * 并定义构造方法和get、set方法
- **/
-
- public class Student {
-
- //定义私有成员属性
- private int id;
- private String name;
- private double score;
-
- //创建构造方法(无参和有参构造)
- public Student() {
- }
-
- public Student(int id, String name, double score) {
- this.id = id;
- this.name = name;
- this.score = score;
- }
-
- //创建set、get方法
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public double getScore() {
- return score;
- }
-
- public void setScore(double score) {
- this.score = score;
- }
- }
-
cn.yunhe.utils包:
- package cn.yunhe.utils;
-
- import java.util.Scanner;
-
- /**
- * @Auther: xydsr
- * @Date: 2023/4/4 17:26
- * @Desc:
- **/
-
- public class StudentTools {
- public static int ScannerId() {
- // System.out.println("请输入学生的学号:");
- Scanner sc = new Scanner(System.in);
- return sc.nextInt();
- }
-
- public static String ScannerName() {
- // System.out.println("请输入学生的姓名:");
- Scanner sc = new Scanner(System.in);
- return sc.nextLine();
- }
-
- public static double ScannerScore() {
- // System.out.println("请输入学生的成绩:");
- Scanner sc = new Scanner(System.in);
- return sc.nextDouble();
- }
- }
cn.yunhe.view包:
- package cn.yunhe.view;
-
- import cn.yunhe.bean.Student;
- import cn.yunhe.utils.StudentTools;
-
- import java.util.ArrayList;
-
- /**
- * @Auther: xydsr
- * @Date: 2023/4/4 16:06
- * @Desc: 学生管理系统功能模块
- **/
-
- public class StudentFunction {
-
- //创建集合对象,用于存储学生信息
- private static ArrayList<Student> arrayList = new ArrayList<>();
-
- /**
- * 1、添加学生信息模块功能实现
- */
- public static void addStudent() {
- System.out.println();
- System.out.println("------------1、添加学生信息------------");
-
- int id;
-
- // 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
- Student stu = new Student();
-
- // 添加学生学号,并判断是否已存在
- while (true) {
- System.out.print("请输入需要添加的学生学号:");
- id = StudentTools.ScannerId();
- boolean flag = isUsed(id);
- if (flag) {
- System.out.println("对不起,你输入的学号已存在,请重新输入:");
- } else {
- break;
- }
- }
- stu.setId(id);
-
- // 添加学生姓名
- System.out.print("请输入需要添加的学生姓名:");
- String name = StudentTools.ScannerName();
- stu.setName(name);
-
- // 添加学生成绩
- while (true) {
- System.out.print("请输入需要添加的学生成绩:");
- double score = StudentTools.ScannerScore();
-
- // 判断输入的成绩是否符合规范
- if (score <= 100 && score >= 0) {
- stu.setScore(score);
- break;
- } else {
- System.out.println("你输入的成绩不符合规范,请重新输入:");
- }
- }
- System.out.println();
-
- // 将学生对象添加到集合中(保存)
- arrayList.add(stu);
-
- // 添加成功提示
- System.out.println("添加成功!");
-
- }
-
- // 定义判断学号是否被占用的方法
- public static boolean isUsed(int id) {
- // 如果与集合中的某一个学生学号相同,返回true 如果都不相同,返回false
- boolean flag = false;
- for (int i = 0; i < arrayList.size(); i++) {
- Student s = arrayList.get(i);
- if (s.getId() == id) {
- flag = true;
- break;
- }
- }
- return flag;
- }
-
- /**
- * 2、查询学生信息模块功能实现
- */
- public static void searchStudent() {
- System.out.println();
- System.out.println("------------2、查询学生信息------------");
- System.out.println("请输入序号选择查询的方式(1,按照学号查询;2,查询所有信息):");
-
- // 调用键盘录入对象方法,输入序号选择查询的方式
- int fun = StudentTools.ScannerId();
-
- while (true) {
- // 调用查询学生信息的方法
- if (fun == 1) {
- searchSingle(); // 调用查询单个学生信息的方法
- } else if (fun == 2) {
- searchAll(); // 调用查询所有学生信息的方法
- } else {
- System.out.println("你输入的序号功能暂未开发,请重新输入:");
- }
- return;
- }
- }
-
- // 定义查询单个学生信息的方法
- public static void searchSingle() {
-
- // 输入学生学号
- System.out.print("请输入需要查询的学生学号:");
- // 调用键盘录入对象方法
- int stuId = StudentTools.ScannerId();
- System.out.println();
- System.out.println("------------学生信息查询结果------------");
-
- for (Student student : arrayList) {
- if (student.getId() == (stuId)) {
- System.out.println("学号" + " " + "姓名" + " " + "成绩");
- System.out.println(student.getId() + " " + student.getName() + " " + student.getScore());
- return;
- }
- }
- System.out.println();
- System.out.println("对不起,你输入的学号不存在,请重新输入:");
- System.out.println();
- }
-
- // 定义查询所有学生信息的方法
- public static void searchAll() {
- System.out.println();
- System.out.println("------------学生信息查询结果------------");
-
- System.out.println("学号" + " " + "姓名" + " " + "成绩");
- for (int i = 0; i < arrayList.size(); i++) {
- Student s = arrayList.get(i);
- System.out.println(s.getId() + " " +
- s.getName() + " " + s.getScore());
- }
- }
-
- /**
- * 3、修改学生信息模块功能实现
- */
- public static void updateStudent() {
- System.out.println();
- System.out.println("------------3、修改学生信息------------");
-
- int id;
-
- System.out.println("请输入你想修改的学生的学号:");
- id = StudentTools.ScannerId();
-
- // 输入学生学号,判断学号是否存在
- boolean upId = isExited(id);
-
- if (upId) {
- for (int i = 0; i < arrayList.size(); i++) {
- Student student = arrayList.get(i);
-
- if (student.getId() == (id)) {
- // 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
- Student stu = new Student();
-
- // 键盘录入要修改的学生信息
- System.out.println("请输入修改后的学生的学号:");
- int updateId = StudentTools.ScannerId();
- stu.setId(updateId);
-
- System.out.println("请输入修改后的学生的姓名:");
- String updateName = StudentTools.ScannerName();
- stu.setName(updateName);
-
- System.out.println("请输入修改后的学生的成绩:");
- double updateScore = StudentTools.ScannerScore();
-
- // 判断输入的成绩是否符合规范
- if (updateScore <= 100 && updateScore >= 0) {
- student.setScore(updateScore);
- } else {
- System.out.println("你输入需要修改的成绩不符合规范,请重新输入:");
- }
- stu.setScore(updateScore);
-
- // 将修改的学生成绩到集合中(修改)
- arrayList.set(i, stu);
-
- // 给出修改成功提示
- System.out.println("修改成功!");
- System.out.println();
- break;
- }
- }
- } else {
- System.out.println("对不起,你输入的学号不存在,请重新输入:");
- }
- }
-
- // 定义判断需要修改的学生学号是否存在
- public static boolean isExited(int id) {
- boolean updateId = false;
- for (int i = 0; i < arrayList.size(); i++) {
- Student s = arrayList.get(i);
- if (s.getId() == (id)) {
- updateId = true;
- break;
- }
- }
- return updateId;
- }
-
- /**
- * 4、删除学生信息模块功能实现
- */
- public static void deleteStudent() {
- System.out.println();
- System.out.println("------------4、删除学生信息------------");
-
- System.out.println("请输入序号选择删除的方式(1,按照学号删除;2,删除所有信息):");
-
- int delete = StudentTools.ScannerId();
-
- while (true) {
- if (delete == 1) {
- deleteSingle(); // 1,按照学号删除
- } else if (delete == 2) {
- deleteAll(); // 2,删除所有信息
- } else {
- System.out.println("你输入的序号功能暂未开发,请重新选择输入:");
- }
- break;
- }
- return;
- }
-
- // 定义单个删除的方法
- public static void deleteSingle() {
-
- // 判断需要删除的学生信息是否存在
- System.out.println("请输入需要删除的学生学号:");
- int id = StudentTools.ScannerId();
-
- int index = -1;
-
- // 遍历集合将对应学生对象从集合中删除
- for (int i = 0; i < arrayList.size(); i++) {
- Student s = arrayList.get(i);
- if (s.getId() == (id)) {
- index = i;
- break;
- }
- }
-
- while (true) {
- if (index == -1) {
- System.out.println("对不起,你输入的学号不存在,请重新输入:");
- } else {
- arrayList.remove(index);
- System.out.println("删除学生信息成功!");
- }
- break;
- }
- }
-
- // 定义全部删除的方法
- public static void deleteAll() {
- arrayList.clear();
- System.out.println("删除所有信息成功!");
- }
-
- /**
- * 5、退出系统模块功能实现
- */
- public static void exitSystem() {
- System.out.println();
- System.err.println("退出成功,欢迎再次访问!");
- System.exit(0);
- }
- }
- package cn.yunhe.view;
-
- import cn.yunhe.utils.StudentTools;
-
-
- /**
- * @Auther: xydsr
- * @Date: 2023/4/3 16:58
- * @Desc: 学生管理系统实现需求:
- * 1、添加学生信息
- * 2、查询学生信息
- * 3、修改学生信息
- * 4、删除学生信息
- * 5、退出管理系统
- **/
-
- public class StudentView {
- public static void main(String[] args) {
- //用循环完成回到系统主界面功能
- while (true) {
- //系统主界面菜单模块
- System.out.println("------欢迎来到-xydsr-学生管理系统------");
- System.out.println("|-----------1、添加学生信息-----------|");
- System.out.println("|-----------2、查询学生信息-----------|");
- System.out.println("|-----------3、修改学生信息-----------|");
- System.out.println("|-----------4、删除学生信息-----------|");
- System.out.println("|-----------5、退出管理系统-----------|");
- //添加一个空格行,为了输出控制台布局美观、不拥挤(下同)。
- System.out.println();
- System.out.println("请选择功能序号:");
-
- int str = StudentTools.ScannerId();
-
- // 用switch循环完成系统主界面功能模块的切换操作
- switch (str) {
- case 1:
- // System.out.println("1、添加学生信息");
- StudentFunction.addStudent();
- break;
- case 2:
- // System.out.println("2、查询学生信息");
- StudentFunction.searchStudent();
- break;
- case 3:
- // System.out.println("3、修改学生信息");
- StudentFunction.updateStudent();
- break;
- case 4:
- // System.out.println("4、删除学生信息");
- StudentFunction.deleteStudent();
- break;
- case 5:
- // System.out.println("5、退出系统");
- StudentFunction.exitSystem();
- break;
- default:
- System.out.println("对不起,你选择的功能序号有误,请重新输入:");
- }
-
- //添加一个空格行,为了输出控制台布局美观、不拥挤。
- System.out.println();
- }
- }
-
- }
项目演示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。