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.     }
相关文章
|
6天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
22 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
15天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
35 4
|
21天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
34 3
|
25天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
60 3
|
23天前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
40 1
|
29天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
27 1
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
2月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
52 1
|
13天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####