当前位置: 首页 > news >正文

建立简单的学生管理系统

1 问题

建立一个在主界面可以输入数字来选择行为的简单学生管理系统,分别有1.添加学生资料,2.删除学生资料,3.修改学生资料,4.删除学生资料,5.退出系统.

学生的信息有id,姓名,年龄,家庭住址,其中id唯一.

2 方法

应用ArrayList类(集合),Scanner类,while循环以及方法的定义

  1. 首先第一步无疑是把主菜单建立起来,因为每次进行行为后都要返回主菜单(除了退出行为)而且不知道要返回多少次,所有这里要用while循环且条件为true.主菜单的语句体可以用System.out.println();输出.

  2. 完成了主菜单的建立后,就可以进行各个行为的部署.这里引入Scanner类,再使用Scanner类的方法进行键盘录入数字选择要进行的行为.判定行为则可以使用switch语句进行判定.

  3. 这里储存学生的信息则采用集合的形式,导入ArrayList类,因为学生是一个实例对象,所有信息则可以存储在一个学生类中,所有我们需要先建立一个学生的Student JavaBean类主界面则放在Test测试类中.然后再把每个学生类存储在集合中,对其进行增删改查(标准的JavaBean类可以使用 ptg插件快速生成 也可以使用ideal自带的快捷键生成(alt + insert));

  4. 环境布置好了以后就可以开始每种行为的编写,由于代码复用多,这里则选择把每种行为写在一个方法里面,通过switch语句进行判断选择再调用相应的方法;

  5. 最后关于5.退出选项.在switch里面使用break是结束Switch语句,那么如何结束while循环呢,这里提供两种方法,第一种是使用exit()方法,直接结束.第二种是给while循环添加一个标记 例如:loop:while(true).最后编写 break loop;即可结束循环

代码清单 1

Courier New字体,23磅行间距
//学生 JavaBean类的编写
package online.middle_up.StudentMS_Projiect;
public class Student {
   private String id;
   private String name;
   private int age;
   private String address;
   public Student() {
   }
   public Student(String id, String name, int age, String address) {
       this.id = id;
       this.name = name;
       this.age = age;
       this.address = address;
   }
   /**
    * 获取
    * @return id
    */
   public String getId() {
       return id;
   }
   /**
    * 设置
    * @param id
    */
   public void setId(String id) {
       this.id = id;
   }
   /**
    * 获取
    * @return name
    */
   public String getName() {
       return name;
   }
   /**
    * 设置
    * @param name
    */
   public void setName(String name) {
       this.name = name;
   }
   /**
    * 获取
    * @return age
    */
   public int getAge() {
       return age;
   }
   /**
    * 设置
    * @param age
    */
   public void setAge(int age) {
       this.age = age;
   }
   /**
    * 获取
    * @return address
    */
   public String getAddress() {
       return address;
   }
   /**
    * 设置
    * @param address
    */
   public void setAddress(String address) {
       this.address = address;
   }
   public String toString() {
       return "Student{id = " + id + ", name = " + name + ", age = " + age + ", address = " + address + "}";
   }
}
//测试类
package online.middle_up.StudentMS_Projiect;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentSystem {
   public static void main(String[] args) {
       //建立主菜单
       ArrayList<Student> list = new ArrayList<>();
       loop:
       while (true) {
           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("请输入您的选择:");
           String choose = sc.next();
           switch (choose) {
               case "1" -> addStudent(list);
               case "2" -> deleteStudent(list);
               case "3" -> updateStudent(list);
               case "4" -> queryStudent(list);
               case "5" -> {
                   System.out.println("退出程序");
                   break loop;
               }
               default -> System.out.println("没有这个选项");
           }
       }
   }
   public static void addStudent(ArrayList<Student> list) {
       System.out.println("添加学生");
       Scanner sc = new Scanner(System.in);
       Student s = new Student();
       while (true) {
           System.out.println("请输入学生id");
           String id = sc.next();
           if (contains(list, id)) {
               System.out.println("id已经存在,请重新输入");
           } else {
               s.setId(id);
               break;
           }
       }
       System.out.println("请输入学生的姓名");
       String name = sc.next();
       s.setName(name);
       System.out.println("请输入学生的年龄");
       int age = sc.nextInt();
       s.setAge(age);
       System.out.println("请输入学生的地址");
       String address = sc.next();
       s.setAddress(address);
       list.add(s);
   }
   public static void deleteStudent(ArrayList<Student> list) {
       System.out.println("删除学生");
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入要删除的学生的id");
       String id = sc.next();
       if (getIndex(list, id) >= 0) {
           System.out.println("id存在,进行删除");
           list.remove(getIndex(list, id));
           System.out.println("删除成功");
       } else {
           System.out.println("id不存在,删除失败");
       }
   }
   public static void updateStudent(ArrayList<Student> list) {
       System.out.println("修改学生");
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入要修改的学生的id");
       String id = sc.next();
       int num = getIndex(list, id);
       Student stu = list.get(num);
       if (num >= 0) {
           System.out.println("id存在");
           System.out.println("请输入要修改的姓名");
           String name = sc.next();
           stu.setName(name);
           System.out.println("请输入要修改的年龄");
           int age = sc.nextInt();
           stu.setAge(age);
           System.out.println("请输入要修改的地址");
           String address = sc.next();
           stu.setAddress(address);
           System.out.println("修改成");
       } else {
           System.out.println("id" + id + "不存在");
       }
   }
   public static void queryStudent(ArrayList<Student> list) {
       System.out.println("查询学生");
       if (list.isEmpty()) {
           System.out.println("当前无学生信息,请添加后再查询");
       } else {
           System.out.println("ID\t\t姓名\t年龄\t住址");
           for (int i = 0; i < list.size(); i++) {
               System.out.println(list.get(i).getId() + "\t\t" + list.get(i).getName() + "\t\t" + list.get(i).getAge() + "\t\t" + list.get(i).getAddress());
           }
       }
   }
   public static boolean contains(ArrayList<Student> list, String id) {
       int num = getIndex(list, id);
       if (num >= 0) {
           return true;
       }
       return false;
   }
   public static int getIndex(ArrayList<Student> list, String id) {
       for (int i = 0; i < list.size(); i++) {
           if (list.get(i).getId().equals(id)) {
               return i;
           }
       }
       return -1;
   }
}

3 结语

针对建立简单学生管理系统问题,提出应用集合和JavaBean类的方法,通过实验,证明该方法是有效的,在后期的学习中可以继续运用mysql数据库和springboot框架把功能继续完善.


http://www.mrgr.cn/news/10875.html

相关文章:

  • LeetCode Hot100:128、最长连续序列
  • C++::基于minimax算法设计的三子棋游戏
  • 由浅入深package.json,发布一个优秀的npm包
  • 互换顺序表中的两个子表位置
  • 【开发笔记】Notepad++配置
  • 数据仓库建模的步骤-从需求分析到模型优化的全面指南
  • 【大数据】-- 插入或覆写动态分区数据(MaxCompute/Hive)
  • 华为OD机试-转盘寿司(C++ Java Python)
  • cloud compare 学习利用CC代码加快插件开发与总结(三)
  • 【机器学习工具库-一-传统机器学习sklearn库】
  • redis--主从复制,哨兵模式,Redis Cluster模式
  • MySQL 中的 distinct 和 group by 哪个效率更高
  • Android - lock/unlock bootloader
  • pikachu靶场XSS通关攻略
  • accelerate相关笔记
  • 基于Material Design风格开源的Avalonia UI控件库
  • ERROR: failed to create cluster: failed to list nodes
  • NVIDIA Jetson AGX Orin源码编译安装CV-CUDA
  • 关于Linux sudo授权的那点事
  • 《C++魔法:运算符重载的奇妙之旅》