java 简单学生管理系统的实现

学生管理系统

项目演示

-------欢迎来到学生管理系统--------

  1. 添加学生
  2. 删除学生
  3. 修改学生
  4. 查看所有学生
  5. 退出
    请输入你的选择
学生管理系统思路
  1. 定义学生类
  2. 主界面的代码编写
  3. 添加学生的代码编写
  4. 查看学生的代码编写
  5. 删除学生的代码编写
  6. 修改学生的代码编写
学生类的编写
  • 学生类:Student
  • 成员变量
    • 学号:sid
    • 姓名:name
    • 年龄:age
    • 生日:birthday
  • 构造方法
    • 无参构造
    • 带四个参数的构造
  • 成员方法: 每个成员变量对于给出get/set方法
package GuanLi;

/**
 * description:JavaSE teaching
 * author:sdjady
 * date:2021-01-05
 * time:14:39
 */
public class Student {
    private String sid;
    private String name;
    private int age;
    private String birthday;

    public Student() {
    }

    public Student(String sid, String name, int age, String birthday) {
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
}

主界面菜单编写
  • 思路
  1. 用输出语句完成主菜单的编写
  2. 用Scanner实现键盘录入
  3. 用switch语句完成操作的选择
  4. 用循环完成再次回到主界面
public class main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        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("------------------------------------");
        System.out.println("           请输入您的选择!          ");

        lo:
        while (true) {

            int choise = sc.nextInt();

            switch (choise) {
                case 1:
                    break lo;
                case 2:
                    break lo;
                case 3:
                    break lo;
                case 4:
                    break lo;
                case 5:
                    System.out.println("感谢您的使用!");
                    break lo;
                default:
                    System.out.println("您输入的有误!");
                    break lo;
            }

        }
    }
}

添加学生

思路

  • 用键盘录入选择添加学生
  • 定义一个方法
    • 显示提示信息
    • 键盘录入学生对象所需要的的数据
    • 创建学生对象,把键盘录入的数据复制给学生对象的成员变量
    • 将学生对象添加到集合中(保存)
    • 给出添加成功提示
  • 调用方法
public static void addStudent(ArrayList<Student> list) {
        Scanner sc = new Scanner(System.in);
        //提示语句
        System.out.println("请输入学号:");
        String sid = sc.next();
        System.out.println("请输入姓名:");
        String name = sc.next();
        System.out.println("请输入年龄:");
        int age = sc.nextInt();
        System.out.println("请输入生日:");
        String birthday = sc.next();
        //录入并封装
        Student stu = new Student(sid,name,age,birthday);
        //添加到集合容器中
        list.add(stu);
        //给出添加成功提示语句
        System.out.println("添加成功!");
    }
查看学生
  • 用键盘录入选择查看所有学生
  • 定义一个方法,用于查看学生信息
    • 判断集合中是否有数据,如果没有显示提示信息
    • 显示表头信息
    • 将集合中的数据去除按照对应格式显示学生信息,年龄显示补充"岁"
  • 调用方法
public static void lookStudent(ArrayList<Student> list) {
        //判断是否有数据
        if(list.size() ==0){
            System.out.println("无信息,请添加后重新查询!");
            return;
        }
        //打印表头
        System.out.println("学号\t\t姓名\t年龄\t生日");
        //打印输出
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);
            System.out.println(stu.getSid()+ "\t" + stu.getName() + "\t" + stu.getAge() + "年" + "\t" + stu.getBirthday());
        }
    }
删除/修改

判断学号是否存在

  • 在操作前,对学号是否存在进行判断
  • getIndex
    • 存在返回索引
    • 不存在返回-1
 //判断学号是否存在
    public static int getIndex(ArrayList<Student> list,String sid){
        //假设不存在
        int index = -1;
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);
            String id = stu.getSid();
            //进行比对
            if (id.equals(sid)){
                index = i;
            }
        }
        return index;
    }

删除

  • 键盘录入
  • 定义方法
    • 提示信息
    • 键盘录入
    • 调用getIndex方法,查询是否在
    • -1 不存在
    • 不是-1用move删除
  • 调用方法
public static void deseteStudent(ArrayList<Student> list) {
        Scanner sc = new Scanner(System.in);
        //提示
        System.out.println("请输入要删除的学号:");
        //收录
        String deleteid = sc.next();
        //用getIndex判断
        int index =getIndex(list,deleteid);
        //判断是否存在
        if (index == -1){
            System.out.println("信息不存在,请重新输入!");
        }else{
            list.remove(index);
            System.out.println("删除成功");
        }
    }

修改

  • 键盘录入选择
  • 定义方法
    • 提示
    • 录入
    • 用getindex查询是否存在
    • 修改
    • 提示
  • 调用方法
 Scanner sc = new Scanner(System.in);
        //提示
        System.out.println("请输入要修改的学号:");
        //收录
        String updateid = sc.next();
        //用getIndex判断
        int index =getIndex(list,updateid);
        //判断是否存在
        if (index == -1){
            System.out.println("信息不存在,请重新输入!");
        }else{
            System.out.println("请输入新的学生姓名:");
            String name = sc.next();
            System.out.println("请输入新的年龄姓名:");
            int age = sc.nextInt();
            System.out.println("请输入新的生日姓名:");
            String birthday = sc.next();
            Student stu = new Student(updateid,name,age,birthday);
            list.set(index,stu);
            System.out.println("修改成功");
        }
    }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aming_sth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值