基于Java基础知识的学生管理系统项目展示

目录

目录

1.实体类

2.学生管理系统的设计

3.查询学生信息

4.判断学生信息是否存在

5.添加学生信息

6.修改学生信息

7.删除学生信息


1.实体类

public class Student {
    //在实体类中属性用private来修饰是为了封装和保护数据
    private Integer id;
    private String name;
    private Integer age;
    //无参构造方法
    public Student(Integer id) {
        this.id = id;
    }
    //带参构造方法
    public Student(Integer id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    //每一个属性都有get方法set方法
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
    //toString()方法是Java中的一个重要方法,它的作用是返回一个描述对象内容的字符串表示
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

2.学生管理系统的设计

        //键盘输入
        Scanner sc = new Scanner(System.in);
        //创建一个集合用来保存Student对象
        ArrayList<Student> list = new ArrayList<>();
        //添加四条测试数据
        list.add(new Student(1,"张三",19));
        list.add(new Student(2,"李四",20));
        list.add(new Student(3,"王五",19));
        list.add(new Student(4,"赵六",21));
        //对while取别名
        lo:
        //死循环
        while (true){
            //学生管理系统的主体部分
            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("请你选择:");
            //获取键盘输入的整形
            int count = sc.nextInt();
            //将键盘输入的整形与case相匹配
            switch (count){
                case 1:
                    //调用查询方法
                    query(list);
                    break;
                case 2:
                    //调用添加方法
                    add(list);
                    break;
                case 3:
                    //调用修改方法
                    update(list);
                    break;
                case 4:
                    //调用删除方法
                    delete(list);
                    break;
                case 5:
                    System.out.println("正在退出中....");
                    //若匹配到了5,则退出死循环
                    break lo;
            }
        }

3.查询学生信息

private static void query(ArrayList<Student> list){
       //判断集合的长度,若长度等于0,则说明集合中无数据
       if (list.size() == 0){
           //在控制台打印提示信息
           System.out.println("此系统暂无学生录入");
       }else {
           //遍历集合中的每一条数据,保存在Studen中,并打印在控制台上
           for (int i = 0; i < list.size(); i++) {
               Student student = list.get(i);
         System.out.println(student.getId()+"\t"+student.getName()+"\t"+student.getAge());
           }
       }
    }

4.判断学生信息是否存在

private static int GetStudent(ArrayList<Student> list,Integer id){
      //遍历集合,并将每一条数据保存在Student中
      for (int i = 0; i < list.size(); i++) {
          Student student = list.get(i);
          //若输入的id与student.getId()相等,则说明该学号已存在
          if (student.getId() == id){
              //返回i
              return i;
          }
      }
             //则说明则说明该学号不存在
             return -1;
  }

5.添加学生信息

 private static void add(ArrayList<Student> list){
      //键盘输入
      Scanner sc = new Scanner(System.in);
      //在控制台打印提示信息
      System.out.println("请输入你的学号:");
      //获取键盘输入的id
      int id = sc.nextInt();
      //调用GetStudent()方法并将返回值保存在getId中
      int getId = test.GetStudent(list, id);
      //判断getId是否为-1
      if (getId == -1){
          System.out.println("请你输入你的名字:");
          String name = sc.next();
          System.out.println("请你输入你的年龄:");
          int age = sc.nextInt();
          //调用集合的add()方法添加Student对象
          list.add(new Student(id,name,age));
          System.out.println("添加成功!!!");
      }else {
          //打印错误信息
          System.out.println("此学号已存在");
      }
  }

6.修改学生信息

 private static void update(ArrayList<Student> list){
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入你的学号:");
      int id = sc.nextInt();
      int GetId = test.GetStudent(list, id);
      if (GetId != -1){
          System.out.println("请输入你要修改的名字:");
          String name = sc.next();
          System.out.println("请输入你要修改的年龄:");
          int age = sc.nextInt();
          /*
           *调用集合的set()方法修改学生信息
           *因为集合的下标是从零开始的所以要-1
           */
          list.set((id-1),new Student(id,name,age));
          System.out.println("修改成功!!!");
      }else {
          System.out.println("该学生不存在!!!");
      }
  }

7.删除学生信息

private static void delete(ArrayList<Student> list){
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入你要删除的学号:");
       int id = sc.nextInt();
       int GetId = test.GetStudent(list, id);
       if (GetId != -1){
           //调用集合的remove()方法删除学生信息
           list.remove((id-1));
           System.out.println("删除成功!!!");
       }else {
           System.out.println("该学生不存在!!!");
       }
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ikun8848

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

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

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

打赏作者

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

抵扣说明:

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

余额充值