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.     }
相关文章
|
29天前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
11天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
72 26
|
23天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
36 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
20天前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
22天前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
1月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
39 4
|
1月前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
44 3
|
1月前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
52 1
|
7月前
|
JavaScript Java 测试技术
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
179 5
|
设计模式 前端开发 Java
Java通讯录管理系统
使用DAO分层设计模式设计了通讯管理系统 使用了c3p0地址池和dbutils,没有写前端,连接的是mysql数据库,不涉及到太多的技术,仅供入门JDBC的小伙伴参考一下
Java通讯录管理系统
下一篇
DataWorks