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. 退出系统
    使用System.exit(0);退出JVM

具体实现

学生类——Student.java

package com.company;
/**
 * @author 10025
 * @date 2020/9/23 19:07
 */
public class Student {
    private String sid;
    private String sname;
    private String ssex;
    private String sage;
    private String address;
    public Student(){}
    public Student(String sid, String sname, String ssex, String sage, String address){
        this.sname = sname;
        this.address = address;
        this.ssex = ssex;
        this.sid = sid;
        this.sage = sage;
    }
    public String getSid(){return sid;}
    public String getSname(){return sname;};
    public String getSsex() {return ssex;}
    public String getSage() {return sage;}
    public String getAddress() { return address;}
    public void setSid(String sid) {
        this.sid = sid;
    }
    public void setSname(String sname) {
        this.sname = sname;
    }
    public void setSsex(String ssex) {
        this.ssex = ssex;
    }
    public void setSage(String sage) {
        this.sage = sage;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}

系统设计——StudentManager.java

package com.company;
import javax.sound.midi.SysexMessage;
import java.util.ArrayList;
import java.util.Scanner;
/**
 * @author 10025
 * @date 2020/9/23 19:17
 */
public class StudentManager {
    public static void main(String[] args) {
        ArrayList array = new ArrayList();
        while (true) {
            //编写主界面
            System.out.println("**********学生管理系统**********");
            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("请输入操作序号: ");
            //输入获取
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();
            //操作选择判断
            switch (line) {
                case "1":
                    addStudent(array);
                    break;
                case "2":
                    delStudent(array);
                    break;
                case "3":
                    updataStudent(array);
                    break;
                case "4":
                    printStudent(array);
                    break;
                case "5":
                    System.out.println("成功退出!");
                    System.exit(0);          //JVM退出
                default:
                    System.out.println("选择有误!");
            }
        }
    }
        //判断集合中是否有信息存在
    private static void printStudent(ArrayList array) {
        if (array.size() == 0) {
            System.out.println("无学生信息,请先添加!");
            return;
        }
        //显示表头,\t是一个tab键的位置
        System.out.println("学号\t姓名\t性别\t年龄\t居住地");
        //显示信息
        for (int i = 0; i < array.size(); i++) {
            Student S = array.get(i);
            System.out.println(S.getSid() + "\t\t" + S.getSname() + "\t" + S.getSsex() + "\t\t" + S.getSage() + "岁\t" + S.getAddress());
        }
    }
    //添加学生信息
    public static void addStudent(ArrayList array) {
        Scanner s = new Scanner(System.in);
        String sid;
        while (true) {
            System.out.println("请输入学生学号: ");
            sid = s.nextLine();
            boolean flag = isUsed(array, sid);
            if (flag) {
                System.out.println("学生信息已存在,请前往修改或查看!");
            } else {
                break;
            }
        }
        System.out.println("请输入学生姓名: ");
        String name = s.nextLine();
        System.out.println("请输入学生性别: ");
        String sex = s.nextLine();
        System.out.println("请输入学生年龄: ");
        String age = s.nextLine();
        System.out.println("请输入学生住址: ");
        String address = s.nextLine();
        //创建学生对象
        Student st = new Student();
        st.setSid(sid);
        st.setSname(name);
        st.setSsex(sex);
        st.setSage(age);
        st.setAddress(address);
        //添加到集合中
        array.add(st);
        System.out.println("添加成功!");
    }
    //判断学生是否已经存在
    //存在返回true,否则返回false
    public static boolean isUsed(ArrayList array, String sid) {
        boolean flage = false;
        for (int i = 0; i < array.size(); i++) {
            Student S = array.get(i);
            if (S.getSid().equals(sid)) {
                flage = true;
                break;
            }
        }
        return flage;
    }
    //删除学生信息
    public static void delStudent(ArrayList array) {
        if (array.size() == 0) {
            System.out.println("无学生信息,请先添加!");
            return;
        }
        Scanner s = new Scanner(System.in);
        System.out.println("请输入要删除的学生学号: ");
        String sid = s.nextLine();
        //获取要删除学生的标号
        int index = -1;
        for (int i = 0; i < array.size(); i++) {
            Student st = array.get(i);
            if (st.getSid().equals(sid)) {
                index = i;
                break;
            }
            //判断该生是否在集合中
            if (index == -1) {
                System.out.println("该学生信息不存在,请确认学号或重新添加!");
            } else {
                array.remove(index);
                System.out.println("成功删除!");
            }
        }
    }
    //修改学生信息
    public static void updataStudent(ArrayList array) {
        if (array.size() == 0) {
            System.out.println("无学生信息,请先添加!");
            return;
        }
        Scanner s = new Scanner(System.in);
        System.out.println("请输入要修改的学生学号: ");
        String sid = s.nextLine();
        //获取要修改学生的标号
        int index = -1;
        for (int i = 0; i < array.size(); i++) {
            Student st = array.get(i);
            if (st.getSid().equals(sid)) {
                index = i;
                break;
            }
            //判断该生是否在集合中
            if (index == -1) {
                System.out.println("该学生信息不存在,请确认学号或重新添加!");
            } else {
                System.out.println("开始修改学生信息!");
                //键盘录入要修改的学生信息
                System.out.println("请输入学生新姓名:");
                String name = s.nextLine();
                System.out.println("请输入学生新年龄:");
                String age = s.nextLine();
                System.out.println("请输入学生新居住地:");
                String address = s.nextLine();
                //创建学生对象
                Student St = new Student();
                St.setSid(sid);
                St.setSname(name);
                St.setSage(age);
                St.setAddress(address);
                //遍历集合修改对应的学生信息
                for (int m = 0; m < array.size(); m++) {
                    Student student = array.get(m);
                    if (student.getSid().equals(sid)) {
                        array.set(m, St);
                    }
                }
            }
        }
    }
}

输出:

**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 
1
请输入学生学号: 
021
请输入学生姓名: 
xxx
请输入学生性别: 
女
请输入学生年龄: 
20
请输入学生住址: 
曹妃甸
添加成功!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 
4
学号  姓名  性别  年龄  居住地
021     xxx  女       20岁     曹妃甸
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 
1
请输入学生学号: 
12
请输入学生姓名: 
lll
请输入学生性别: 
女
请输入学生年龄: 
21
请输入学生住址: 
曹妃甸
添加成功!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 
4
学号  姓名  性别  年龄  居住地
021     xxx  女       20岁     曹妃甸
12      lll 女       21岁     曹妃甸
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 
2
请输入要删除的学生学号: 
20
该学生信息不存在,请确认学号或重新添加!
该学生信息不存在,请确认学号或重新添加!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: 

需要改进的地方:

  1. 存储信息数据的时候可以存到本地,连接本地数据库
  2. 信息展示可以利用表格形式,更加清晰整齐
  3. 修改时,可以选择只修改某一项或某几项,不用全部都修改

你可能感兴趣的:(Java,java)