Java——实现一个小型的学生信息管理系统

不止Java

共 11761字,需浏览 24分钟

 ·

2021-06-27 22:14

目录

定义学生类

主界面

添加学生

查看学生

删除学生

修改学生

两个注意事项



定义学生类

1、定义成员变量

 private String id;//学号  private String name;//姓名  private String age;//年龄  private String gender;//性别  private String addr;//居住地址



2、定义构造方法

(1)一个无参构造方法

 public Student() {    }



(2)带四个参数的构造方法

 public Student(String id, String name, String age, String gender, String addr) {           this.id = id;           this.name = name;           this.age = age;           this.gender = gender;           this.addr = addr;         }



3、定义成员方法

每个成员变量对应给出get/set方法

public String getId() {        return id;    }

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

public String getName() { return name; }

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

public String getAge() { return age; }

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

public String getGender() { return gender; }

public void setGender(String gender) { this.gender = gender; }

public String getAddr() { return addr; }

public void setAddr(String addr) { this.addr = addr; }


主界面

1、输出语句完成主界面的编写

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("请选择需要的操作:");



2、用Scanner实现键盘录入数据

//键盘输入  Scanner sc = new Scanner(System.in);  String line = sc.nextLine();



3、用switch完成功能选择操作

//用switch完成选择判断  switch (line) {        case "1":                  System.out.println("添加学生");                    break;            case "2":                    System.out.println("删除学生");                    break;            case "3":                    System.out.println("修改学生");                    break;            case "4":                    System.out.println("查看所有学生");                    break;            case "5":                    System.out.println("谢谢使用");                    //break;                    System.exit(0); //JVM退出         }



4、循环再次回到主界面

while (true) { …… }




添加学生

1、键盘录入选择添加学生

  case "1":            System.out.println("添加学生");            break;



2、定义方法用于添加学生

(1)显示提示输入何种信息,键盘输入要添加的学生信息

  Scanner sc = new Scanner(System.in);            System.out.println("请输入学生学号:");            String id = sc.nextLine();                  System.out.println("请输入学生姓名:");            String name = sc.nextLine();                  System.out.println("请输入学生年龄:");            String age = sc.nextLine();                  System.out.println("请输入学生性别:");            String gender = sc.nextLine();                  System.out.println("请输入学生居住地址:");            String addr = sc.nextLine();



(2)创建学生对象,把键盘输入的数据赋值

  //创建学生对象      Student s = new Student();      s.setId(id);      s.setName(name);      s.setAge(age);      s.setGender(gender);      s.setAddr(addr);



(3)将学生对象添加到集合中

  //将学生对象添加到集合中        array.add(s);



(4)给出添加成功提示

  //提示添加成功    System.out.println("学生添加成功");




3、方法调用

  addStudent(array);




查看学生

1、键盘录入选择查看学生

  case "4":          //System.out.println("查看所有学生");          findAllStudent(array);          break;



2、定义查看学生方法

(1)判断集合中是否有数据,若没有给出提示信息

  //判断集合中是否有数据,若没有显示提示信息          if (array.size() == 0) {                  System.out.println("无信息,请添加信息");                  return;           }



(2)显示表头信息

  //显示表头信息         System.out.println("学号\t姓名\t性别\t年龄\t居住地址");



(3)将集合中对应信息显示出来,年龄补充“岁”

  //显示集合中的数据    for (int i = 0; i < array.size(); i++) {                  Student s = array.get(i);                  System.out.println(s.getId() + "\t\t" + s.getName() + "\t" + s.getGender() + "\t\t" + s.getAge() + "岁\t" + s.getAddr());              }



3、方法调用

  findAllStudent(array);







删除学生

1、键盘录入选择删除学生

  case "2":           //System.out.println("删除学生");          deleteStudent(array);          break;



2、定义删除学生方法

(1)显示提示信息,键盘输入要删除学生的学号

  //键盘录入需要删除学生的学号    Scanner sc = new Scanner(System.in);          System.out.println("请输入需要删除学生的学号:");    String id = sc.nextLine();



(2)遍历集合将对应学生信息删除

  //遍历集合将对应学生对象从集合中删除    for(int i=0; i<array.size(); i++) {                 Student s = array.get(i);                  if(s.getSid().equals(sid)) {                          array.remove(i);                          break;                      }           }



(3)给出删除成功的提示

  //给出删除成功提示    System.out.println("删除学生成功");



3、方法调用

  deleteStudent(array);




修改学生

1、键盘录入选择删除学生

  case "3":                          //System.out.println("修改学生");                          updateStudent(array);                         break;



2、定义修改学生信息方法

(1)键盘录入需修改学生的学号,显示提示信息

  //键盘录入需修改的学生学号    Scanner sc = new Scanner(System.in);     System.out.println("请输入需修改学生的学号:");    String id = sc.nextLine();



(2)键盘录入需修改的学生信息

  //给出修改的提示          System.out.println("请输入学生的新姓名:");          String name = sc.nextLine();            System.out.println("请输入学生的新年龄:");          String age = sc.nextLine();            System.out.println("请输入学生的新性别:");          String gender = sc.nextLine();            System.out.println("请输入学生的新地址:");          String addr = sc.nextLine();



(3)创建学生对象

//创建学生对象        Student s = new Student();        s.setId(id);        s.setName(name);        s.setGender(gender);        s.setAge(age);        s.setAddr(addr);



(4)遍历集合修改对应学生信息

  //遍历集合修改对应的学生信息    for (int i = 0; i < array.size(); i++) {              Student student = array.get(i);              if (student.getId().equals(id)) {                        array.set(i, s);                        break;                    }         }



(5) 给出修改成功提示

//给出修改成功提示        System.out.println("修改学生成功");



3、方法调用

  updateStudent(array);





两个注意事项

1、学号不存在问题

在删除/修改学生信息之前,对学号进行判断,如果不存在,给出提示信息,如果存在,则执行相应操作


改进代码如下:

//删除学生   public static void deleteStudent(ArrayList<Student> array) {       //键盘录入需要删除学生的学号       Scanner sc = new Scanner(System.in);       System.out.println("请输入需要删除学生的学号:");       String id = sc.nextLine();

       //遍历集合,选中对应学生将其删除       int index = -1;       for (int i = 0; i < array.size(); i++) {           Student s = array.get(i);           if (s.getId().equals(id)) {               index = i;               //array.remove(i);               break;           }       }           if (index == -1) { System.out.println("该学生信息不存在,请重新输入:"); } else { array.remove(index); System.out.println("删除成功"); } //System.out.println("删除成功"); }




2、学号重复问题

在添加学生信息的过程中,若添加了已存在的学生学号,给出提示信息,若没有,则继续执行该操作。


查看学号是否重复代码:

  //查看学号是否重复        public static boolean isUsed(ArrayList<Student> array, String id) {            //如果与集合中的某一个学生学号相同,返回true;如果都不相同,返回false                boolean flag = false;                for (int i = 0; i < array.size(); i++) {                        Student s = array.get(i);                        if (s.getId().equals(id)) {                                flag = true;                                break;                            }                     }                     return flag;         }



添加学生代码改进:

  String id;             while (true) {                     System.out.println("请输入学生学号:");                     id = sc.nextLine();                               boolean flag = isUsed(array, id);                     if (flag) {                             System.out.println("你输入的学号已经被使用,请重新输入");           else {                                 break;                         }                }



至此,一个小型的学生信息管理系统初步实现。



- 扫码关注 -

知乎 | 大可

CSDN | 一个大可呀




在看点一下
浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报