增、删、改、查系统
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 }
想多了都是问题,做多了才是答案
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现