Java练手小项目——学生管理系统

简介: Java练手小项目——学生管理系统

学生类

1. package timberman666;
2. 
3. public class Student {
4. private String id;
5. private String name;
6. private int age;
7. private String address;
8. 
9. public Student() {
10.     }
11. 
12. public Student(String id, String name, int age, String address) {
13. this.id = id;
14. this.name = name;
15. this.age = age;
16. this.address = address;
17.     }
18. 
19. /**
20.      * 获取
21.      * @return id
22.      */
23. public String getId() {
24. return id;
25.     }
26. 
27. /**
28.      * 设置
29.      * @param id
30.      */
31. public void setId(String id) {
32. this.id = id;
33.     }
34. 
35. /**
36.      * 获取
37.      * @return name
38.      */
39. public String getName() {
40. return name;
41.     }
42. 
43. /**
44.      * 设置
45.      * @param name
46.      */
47. public void setName(String name) {
48. this.name = name;
49.     }
50. 
51. /**
52.      * 获取
53.      * @return age
54.      */
55. public int getAge() {
56. return age;
57.     }
58. 
59. /**
60.      * 设置
61.      * @param age
62.      */
63. public void setAge(int age) {
64. this.age = age;
65.     }
66. 
67. /**
68.      * 获取
69.      * @return address
70.      */
71. public String getAddress() {
72. return address;
73.     }
74. 
75. /**
76.      * 设置
77.      * @param address
78.      */
79. public void setAddress(String address) {
80. this.address = address;
81.     }
82. 
83. public String toString() {
84. return "Student{id = " + id + ", name = " + name + ", age = " + age + ", address = " + address + "}";
85.     }
86. }

菜单

1.  loop:while (true) {
2.             System.out.println("Welcome to the timberman's Student Management System");
3.             System.out.println("1:Add");
4.             System.out.println("2:Delete");
5.             System.out.println("3:Modify");
6.             System.out.println("4:Query");
7.             System.out.println("5:Quit");
8.             System.out.println("Please enter your choice");
9.             Scanner sc=new Scanner(System.in);
10.             String choose= sc.next();
11. switch (choose)
12.             {
13. case"1"-> addStudent(list);
14. case"2"-> deleteStudent(list);
15. case"3"-> modifyStudent(list);
16. case"4"-> queryStudent(list);
17. case"5"-> {
18.                     System.out.println("Quit");
19. break loop;
20.                 }
21. default -> System.out.println("There is no such option");
22.             }
23.         }

添加学生信息功能的实现

1. //add student
2. public static void addStudent(ArrayList<Student> list) {
3.         System.out.println("Add a student");
4.         Student s= new Student();
5.         Scanner sc=new Scanner(System.in);
6. 
7.         String id=null;
8. while (true) {
9.             System.out.println("Please enter the student's id");
10.             id=sc.next();
11. boolean flag=contains(list,id);
12. if(flag){
13.                 System.out.println("The ID already exists, please re-enter it");
14.             }
15. else{
16.                 s.setId(id);
17. break;
18.             }
19. 
20.         }
21. 
22.         System.out.println("Please enter the student's name");
23.         String name=sc.next();
24.         s.setName(name);
25. 
26.         System.out.println("Please enter the student's age");
27. int age= sc.nextInt();
28.         s.setAge(age);
29. 
30.         System.out.println("Please enter the student's address");
31. String address = sc.next();
32.         s.setAddress(address);
33. 
34.         list.add(s);
35. 
36.         System.out.println("Student information added successfully");
37.     }

删除学生信息功能的实现

1. //delete student
2. public static void deleteStudent(ArrayList<Student> list) {
3.         System.out.println("Delete a student");
4.         Scanner sc=new Scanner(System.in);
5.         String id=sc.next();
6. int index=getIndex(list,id);
7. if(index>=0){
8.             list.remove(index);
9.         }
10. else{
11.             System.out.println("id does not exist, deletion failed");
12.         }
13. 
14.     }

修改学生信息功能的实现

1. //modify student
2. public static void modifyStudent(ArrayList<Student> list) {
3.         System.out.println("Modify a student");
4.         Scanner sc=new Scanner(System.in);
5.         String id=sc.next();
6. int index=getIndex(list,id);
7. if(index==-1){
8.             System.out.println("The ID to be modified does not exist " +id+ " please re-enter it");
9. return;
10.         }
11.         Student stu=list.get(index);
12.         System.out.println("Please enter the name of the student you want to modify");
13.         String newName= sc.next();
14.         stu.setName(newName);
15. 
16.         System.out.println("Please enter the age of the student you want to modify");
17. int newAge= sc.nextInt();
18.         stu.setAge(newAge);
19. 
20.         System.out.println("Please enter the address of the student you want to modify");
21.         String newAddress= sc.next();
22.         stu.setAddress(newAddress);
23. 
24.         System.out.println("The student's information was modified successfully");
25.     }

查询学生信息的实现

1. //query student
2. public static void queryStudent(ArrayList<Student> list) {
3.         System.out.println("Query a student");
4. if(list.size()==0)
5.         {
6.             System.out.println("There is currently no student information, please add it and inquire");
7. return;
8.         }
9.         System.out.println("id\t\tname\tage\taddress");
10. for (int i = 0; i < list.size() ; i++) {
11.             Student stu=list.get(i);
12.             System.out.println(stu.getId()+"\t"+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
13. 
14.         }
15. 
16.     }

通过ID获得下标功能的实现

1. //Get the index by id
2. public static int getIndex(ArrayList<Student> list,String id) {
3. for (int i = 0; i < list.size(); i++) {
4.             Student stu=list.get(i);
5.             String sid= stu.getId();
6. if(sid.equals(id)) {
7. return i;
8.             }
9.         }
10. return -1;
11.     }

判断ID是否唯一功能的实现

1. //Determine whether the id exists in the collection
2. public static boolean contains(ArrayList<Student> list,String id) {
3. for (int i = 0; i < list.size(); i++) {
4.             Student s=list.get(i);
5.             String sid=s.getId();
6. if(sid.equals(id)){
7. return true;
8.             }
9.         }
10. return false;
11.     }
相关文章
|
1天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
13 3
|
23天前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
261 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
5天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
10 1
|
6天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
9天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
11天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
34 1
|
16天前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
20天前
|
Java 关系型数据库 MySQL
基于Java的学生成绩管理系统/学生信息管理系统
基于Java的学生成绩管理系统/学生信息管理系统
32 2
|
19天前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
23天前
|
运维 Java Maven
Dockerfile实践java项目
通过上述实践,我们可以看到,Dockerfile在Java项目中扮演着至关重要的角色,它不仅简化了部署流程,提高了环境一致性,还通过多阶段构建、环境变量配置、日志管理、健康检查等高级特性,进一步增强了应用的可维护性和可扩展性。掌握这些实践,将极大地提升开发和运维团队的工作效率。
32 1