增、删、改、查系统

复制代码
  1 package generic;
  2 import java.util.ArrayList;
  3 import java.util.Scanner;
  4 
  5 public class StudentManger {
  6     //创建一个集合容器,用于储存学生信息
  7      private static  ArrayList<Student> arrayList = new ArrayList<Student>();
  8      private static boolean isRun=true;
  9     public static void main(String[] args) {
 10         while (isRun){
 11             System.out.println("----欢迎来到学生管理系统---");
 12             System.out.println("1.新增学生信息");
 13             System.out.println("2.修改学生信息");
 14             System.out.println("3.删除学生信息");
 15             System.out.println("4.查询学生信息");
 16             System.out.println("5.退出管理系统");
 17             System.out.println("-----------------------");
 18             System.out.println("请选择1-5的数字进行相应操作");
 19             //从键盘上获取信息
 20             Scanner scanner = new Scanner(System.in);
 21             int number = scanner.nextInt();
 22             switch (number){
 23                 case 1:
 24                     System.out.println("新增学生信息");
 25                     addStudent();
 26                     break;
 27                 case 2:
 28                     System.out.println("修改学生信息");
 29                     upDateStudent();
 30                     break;
 31                 case 3:
 32                     System.out.println("删除学生信息");
 33                     deleteStudent();
 34                     break;
 35                 case 4:
 36                     System.out.println("查询学生信息");
 37                     ShowInformation();
 38                     break;
 39                 case 5:
 40                     isRun=false;//如果为假,就直接退出循环;
 41                     System.out.println("退出学生信息系统");
 42                     break;
 43             }
 44         }
 45     }
 46     //新增学生方法:
 47     public static void addStudent(){
 48         //输入学生信息
 49         Scanner scanner = new Scanner(System.in);
 50         System.out.println("请输入学生的姓名:");
 51         String name = scanner.nextLine();
 52         System.out.println("请输入学生的学号:");
 53         String ID = scanner.nextLine();
 54         //从集合中查询是否已经存在该学号,如果已经存在,不允许再添加该学号
 55         Student byStudent = getByStudent(ID);
 56         if (byStudent!=null){
 57             System.out.println("该学号已经被使"+byStudent.getName()+"占用,请重新输入新的学号");
 58             return;
 59         }
 60         System.out.println("请输入学生的地址:");
 61         String Address = scanner.nextLine();
 62         System.out.println("请输入学生的年龄:");
 63         Integer age = scanner.nextInt();
 64         //把学生的信息添加到集合中
 65       arrayList.add(new Student(name,ID,age,Address));
 66       System.out.println("学生信息添加成功...");
 67     }
 68     //查询已添加学生信息
 69     //通过遍历集合去查询信息
 70     public static void ShowInformation(){
 71         //如果没有存入学生信息,查询给出提示
 72         if (arrayList.size()==0){
 73             System.out.println("目前还没有存入任何一个学生信息,请先添加学生信息....");
 74             return;
 75         }
 76         for (int i = 0; i <arrayList.size() ; i++) {
 77             Student student = arrayList.get(i);
 78             System.out.println("学号:"+student.getID()+"\t"+"姓名:"+student.getName()+"\t"+"年龄:"+student.getAge()+"\t"+"地址:"+student.getAddress());
 79         }
 80     }
 81     //添加条件,判断学号是否出现重复;
 82     public static Student getByStudent(String ID){
 83         //根据学号进行查询,学生对象集合中的学生信息,返回学生对象传递isDelete=false,不会删除学生对象
 84         return getByStudent(ID,false);
 85     }
 86     //进行方法重载
 87     /**
 88      *
 89      * @param ID 学生学号
 90      * @param isDelete  是否删除该学生
 91      * @return
 92      */
 93     public static Student getByStudent(String ID,boolean isDelete){
 94         for (int i = 0; i <arrayList.size() ; i++) {
 95             Student student = arrayList.get(i);
 96             if (student.getID().equals(ID)){
 97                 //根据学号查询该学生,如果isDelete为true;则从集合中删除该学生
 98                 if (isDelete){
 99                     return  arrayList.remove(i);
100                 }
101                 return student;
102             }
103         }
104         return null;
105     }
106     //删除学生信息
107     public static void deleteStudent(){
108         System.out.println("请输入要删除的学号");
109         //学号的唯一性,可根据删除学号来删除信息
110         Scanner scanner = new Scanner(System.in);
111         String ID = scanner.nextLine();
112 
113         //根据该学号查找集合中,是否有该对象,如果存在该对象,直接调用
114         Student student  = getByStudent(ID,true);
115         if (student==null){
116             System.out.println("没有该学生的信息,请重新输入要查找的学生信息");
117             return;
118         }
119         System.out.println("删除"+ID+"成功");
120     }
121     /**
122      * 修改学生信息
123      */
124     public static void upDateStudent(){
125         System.out.println("请输入要修改的学号");
126         //学号的唯一性,可根据修改学号来更新信息
127         Scanner scanner = new Scanner(System.in);
128         String ID = scanner.nextLine();
129         Student student = getByStudent(ID,false);
130         if (student==null){
131             System.out.println("在集合中没有找到对应的学号,请重新输入...");
132             return;
133         }
134         System.out.println("请输入需要修改新的姓名:");
135         String newName = scanner.nextLine();
136         System.out.println("请输入需要修改新的地址:");
137         String newAddress= scanner.nextLine();
138         System.out.println("请输入需要修改新的年龄:");
139         Integer newAge = scanner.nextInt();
140         //修改学生信息
141         student.setName(newName);
142         student.setAge(newAge);
143         student.setAddress(newAddress);
144         System.out.println("信息修改成功...");
145     }
146 
147 }
复制代码

 

posted @   捞月亮的渔夫  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示