Advertisement

学生管理系统(Java简单实现)

阅读量:

目录

制作思路

建立学生类

建立测试类

页面导航设计

添加学生设计

设计修改学生

设计删除学生

设计查询学生

运行


制作思路


建立学生类

首先在IDE中建立的一个包,然后在包下建立学生类:

在学生类中,定义(这里我们用的private定义,也可以用public)学生的姓名,年龄,学号,家庭地址:

复制代码
  private String name;

    
     private String sid;
    
     private String age;
    
     private String address;

然后添加构造方法(有参无参):

复制代码
 public StudentMagement() {

    
     }
    
  
    
     public StudentMagement(String name, String sid, String age, String address) {
    
     this.name = name;
    
     this.sid = sid;
    
     this.age = age;
    
     this.address = address;
    
     }

下一步添加set/get方法:

复制代码
 public String getName() {

    
     return name;
    
     }
    
  
    
     public void setName(String name) {
    
     this.name = name;
    
     }
    
  
    
     public String getSid() {
    
     return sid;
    
     }
    
  
    
     public void setSid(String sid) {
    
     this.sid = sid;
    
     }
    
  
    
     public String getAge() {
    
     return age;
    
     }
    
  
    
     public void setAge(String age) {
    
     this.age = age;
    
     }
    
  
    
     public String getAddress() {
    
     return address;
    
     }
    
  
    
     public void setAddress(String address) {
    
     this.address = address;
    
     }

注:在IDEA(本人用的IDE为IDEA)中,添加构造函数以及set/get方法可以通过快捷键Alt+Insert实现:

1为添加有参无参构造方法,2为添加set,get方法。

学生类完整代码如下:

复制代码
 public class StudentMagement {

    
     private String name;
    
     private String sid;
    
     private String age;
    
     private String address;
    
  
    
     public StudentMagement() {
    
     }
    
  
    
     public StudentMagement(String name, String sid, String age, String address) {
    
     this.name = name;
    
     this.sid = sid;
    
     this.age = age;
    
     this.address = address;
    
     }
    
  
    
     public String getName() {
    
     return name;
    
     }
    
  
    
     public void setName(String name) {
    
     this.name = name;
    
     }
    
  
    
     public String getSid() {
    
     return sid;
    
     }
    
  
    
     public void setSid(String sid) {
    
     this.sid = sid;
    
     }
    
  
    
     public String getAge() {
    
     return age;
    
     }
    
  
    
     public void setAge(String age) {
    
     this.age = age;
    
     }
    
  
    
     public String getAddress() {
    
     return address;
    
     }
    
  
    
     public void setAddress(String address) {
    
     this.address = address;
    
     }
    
  
    
 }

建立测试类

注:在测试类中用到了ArrayList集合以及Scanner方法,使用前需要创建对象

页面导航设计

首先页面中应该包括用户选项:

可以通过输出语句实现:

复制代码
 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("请输入你的选择:");
    
         Scanner sc = new Scanner(System.in);
    
         String line = sc.nextLine();

注意代码中用到了Scanner语句,使用前记得导包。

选项有了以后,丰富选项下的内容:

复制代码
  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("欢迎下次使用");
    
                 System.exit(0);
    
         }

在case "5"中用到了System.exit(0)语句(jvm退出),保证用户在选择5选项的时候系统退出。

想要实现系统的重复使用,外加一个while循环:

复制代码
     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("--------------------------------");
    
         System.out.println("请输入你的选择:");
    
         String line = sc.nextLine();
    
  
    
         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("欢迎下次使用");
    
                 System.exit(0);
    
         }
    
     }

添加学生设计

(这里是在测试类中新建的方法,然后在main方法中进行调用,以下设计同样原理)

建立方法addStudent:

复制代码
     public static void addStudent(ArrayList<StudentMagement> array) {

    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入学生基本信息:
    
      */
    
     System.out.println("请输入学生姓名:");
    
     String name = sc.nextLine();
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     System.out.println("请输入学生年龄:");
    
     String age = sc.nextLine();
    
     System.out.println("请输入学生家庭地址:");
    
     String address = sc.nextLine();
    
  
    
  
    
     /*
    
         创建对象,将键盘输入数据赋值给学生对象的成员变量:
    
      */
    
     StudentMagement s = new StudentMagement();
    
     s.setName(name);
    
     s.setSid(sid);
    
     s.setAge(age);
    
     s.setAddress(address);
    
  
    
     //将数据保存在集合(Array)中:
    
     array.add(s);
    
  
    
     System.out.println("添加成功");
    
     }

这里用到了ArrayList集合,所以在前面main方法中(页面导航设计)先创建ArrayList集合对象:

设计修改学生

建立修改学生方法updateStudent:

通过学号(在数据库中为Student的主键)进行索引,然后进行学生信息修改:

复制代码
 public static void updataStudent(ArrayList<StudentMagement> array){

    
     StudentMagement s = new StudentMagement();  //创建学生对象
    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入修改学生的学号
    
      */
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     System.out.println("请输入新学生的姓名:");
    
     String name = sc.nextLine();
    
     System.out.println("请输入新学生的年龄:");
    
     String age = sc.nextLine();
    
     System.out.println("请输入新学生的家庭住址:");
    
     String address = sc.nextLine();
    
     //建立学生对象,存储在一个对象集合中
    
     s.setAge(age);
    
     s.setAddress(address);
    
     s.setSid(sid);
    
     s.setName(name);
    
     //进行遍历
    
     for(int i = 0;i< array.size();i++){
    
         StudentMagement student = array.get(i);
    
         if(student.getSid().equals(sid)){
    
             array.set(i,s);
    
         }
    
     }
    
     System.out.println("操作完成");
    
     }

代码中用到了字符串的比较,因为在定义学生类中,学号等信息是String类,比较需要用到equals方法。

设计删除学生

建立删除学生方法removeStudent:

复制代码
  /*

    
     进行删除学生的操作:
    
      */
    
     public static void removeStudent(ArrayList<StudentMagement> array) {
    
     StudentMagement s = new StudentMagement();  //使用前先建一个对象
    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入需要删除的学生的学号:
    
      */
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     //进行动态数组的遍历,查找符合学号的对应学生信息
    
     for (int i = 0; i < array.size(); i++) {
    
         s = array.get(i);           //整个学生信息存储在i中
    
         if (s.getSid().equals(sid)) {
    
             array.remove(i);    //直接删除存储学生信息的元素i
    
             System.out.println("操作成功");
    
             break;
    
         } else {
    
             System.out.println("不存在该学生,请稍后再试.");
    
         }
    
     }
    
     }

ArrayList集合中,集合长度应该用size表示,而不是length,进行遍历查找,然后删除对应操作,应注意没有信息录入的情况下,应该提示录入信息。

设计查询学生

建立方法showStudent

复制代码
  /*

    
     进行查询学生信息操作:
    
      */
    
     public static void ShowStudent(ArrayList<StudentMagement> array) {
    
     StudentMagement s = new StudentMagement();
    
     /*
    
         遍历学生信息
    
      */
    
     if (array.size() == 0) {
    
         System.out.println("表内无信息,请先输入");
    
     } else {
    
         System.out.println("姓名\t\t\t\t学号\t\t\t   年龄\t\t居住地");
    
         for (int i = 0; i < array.size(); i++) {
    
             s = array.get(i);
    
             System.out.println(s.getName() + "\t\t" + s.getSid() + "\t\t" + s.getAge() + "\t\t" + s.getAddress() + "\t");
    
         }
    
     }
    
     }

\t表示间隔,运用\t来保证显示的美感:

运行

最后,在main方法中调用方法:

复制代码
  public static void main(String[] args) {

    
     //创建集合
    
     ArrayList<StudentMagement> array = new ArrayList<>();
    
     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("--------------------------------");
    
         System.out.println("请输入你的选择:");
    
         Scanner sc = new Scanner(System.in);
    
         String line = sc.nextLine();
    
  
    
         switch (line) {
    
             case "1":
    
                 //System.out.println("添加学生");
    
                 addStudent(array);
    
                 break;
    
             case "2":
    
                 //System.out.println("删除学生");
    
                 removeStudent(array);
    
                 break;
    
             case "3":
    
                 //System.out.println("修改学生");
    
                 updataStudent(array);
    
                 break;
    
             case "4":
    
                 //System.out.println("查看所有学生");
    
                 ShowStudent(array);
    
                 break;
    
             case "5":
    
                 System.out.println("谢谢使用");
    
                 System.exit(0);
    
         }
    
     }

运行结果:




测试类完整代码:

复制代码
 import java.util.ArrayList;

    
 import java.util.Scanner;
    
  
    
 public class Studenttext {
    
     public static void main(String[] args) {
    
     //创建集合
    
     ArrayList<StudentMagement> array = new ArrayList<>();
    
     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("--------------------------------");
    
         System.out.println("请输入你的选择:");
    
         Scanner sc = new Scanner(System.in);
    
         String line = sc.nextLine();
    
  
    
         switch (line) {
    
             case "1":
    
                 //System.out.println("添加学生");
    
                 addStudent(array);
    
                 break;
    
             case "2":
    
                 //System.out.println("删除学生");
    
                 removeStudent(array);
    
                 break;
    
             case "3":
    
                 //System.out.println("修改学生");
    
                 updataStudent(array);
    
                 break;
    
             case "4":
    
                 //System.out.println("查看所有学生");
    
                 ShowStudent(array);
    
                 break;
    
             case "5":
    
                 System.out.println("谢谢使用");
    
                 System.exit(0);
    
         }
    
     }
    
     }
    
  
    
     /*
    
     进行添加学生的操作:
    
      */
    
     public static void addStudent(ArrayList<StudentMagement> array) {
    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入学生基本信息:
    
      */
    
     System.out.println("请输入学生姓名:");
    
     String name = sc.nextLine();
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     System.out.println("请输入学生年龄:");
    
     String age = sc.nextLine();
    
     System.out.println("请输入学生家庭地址:");
    
     String address = sc.nextLine();
    
  
    
  
    
     /*
    
         创建对象,将键盘输入数据赋值给学生对象的成员变量:
    
      */
    
     StudentMagement s = new StudentMagement();
    
     s.setName(name);
    
     s.setSid(sid);
    
     s.setAge(age);
    
     s.setAddress(address);
    
  
    
     //将数据保存在集合(Array)中:
    
     array.add(s);
    
  
    
     System.out.println("添加成功");
    
     }
    
  
    
     /*
    
     进行查询学生信息操作:
    
      */
    
     public static void ShowStudent(ArrayList<StudentMagement> array) {
    
     StudentMagement s = new StudentMagement();
    
     /*
    
         遍历学生信息
    
      */
    
     if (array.size() == 0) {
    
         System.out.println("表内无信息,请先输入");
    
     } else {
    
         System.out.println("姓名\t\t\t\t学号\t\t\t   年龄\t\t居住地");
    
         for (int i = 0; i < array.size(); i++) {
    
             s = array.get(i);
    
             System.out.println(s.getName() + "\t\t" + s.getSid() + "\t\t" + s.getAge() + "\t\t" + s.getAddress() + "\t");
    
         }
    
     }
    
     }
    
  
    
     /*
    
     进行删除学生的操作:
    
      */
    
     public static void removeStudent(ArrayList<StudentMagement> array) {
    
     StudentMagement s = new StudentMagement();  //使用前先建一个对象
    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入需要删除的学生的学号:
    
      */
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     //进行动态数组的遍历,查找符合学号的对应学生信息
    
     for (int i = 0; i < array.size(); i++) {
    
         s = array.get(i);           //整个学生信息存储在i中
    
         if (s.getSid().equals(sid)) {
    
             array.remove(i);    //直接删除存储学生信息的元素i
    
             System.out.println("操作成功");
    
             break;
    
         } else {
    
             System.out.println("不存在该学生,请稍后再试.");
    
         }
    
     }
    
     }
    
  
    
     /*
    
     进行修改学生信息操作:
    
      */
    
     public static void updataStudent(ArrayList<StudentMagement> array){
    
     StudentMagement s = new StudentMagement();  //创建学生对象
    
     Scanner sc = new Scanner(System.in);
    
     /*
    
         输入修改学生的学号
    
      */
    
     System.out.println("请输入学生学号:");
    
     String sid = sc.nextLine();
    
     System.out.println("请输入新学生的姓名:");
    
     String name = sc.nextLine();
    
     System.out.println("请输入新学生的年龄:");
    
     String age = sc.nextLine();
    
     System.out.println("请输入新学生的家庭住址:");
    
     String address = sc.nextLine();
    
     //建立学生对象,存储在一个对象集合中
    
     s.setAge(age);
    
     s.setAddress(address);
    
     s.setSid(sid);
    
     s.setName(name);
    
     //进行遍历
    
     for(int i = 0;i< array.size();i++){
    
         StudentMagement student = array.get(i);
    
         if(student.getSid().equals(sid)){
    
             array.set(i,s);
    
         }
    
     }
    
     System.out.println("操作完成");
    
     }
    
 }

全部评论 (0)

还没有任何评论哟~