目录
1. 系统概述
该系统主要包括两个类:Student
和 StudentManage
。Student
类用于定义学生的属性,包括学号、姓名、性别和年龄。StudentManage
类则负责实现学生信息的管理功能,包括添加、显示、修改和删除学生信息,以及退出系统。
2. 需求说明
2.1 需求
实现一个简单的学生管理系统,它具备 5 个功能,分别为【 1 :显示所有的学生信息; 2 :添加学生; 3:修改学生信息; 4 :删除学生; 5 :退出本系统功能】
2.2 实现分析
我们要实现的就是对学生管理系统学生信息的添加,删除,修改以及查看所有学生信息,这里我用到的是数组的方法来存储学生信息,大家也可以尝试一下ArrayList集合的方法来进一步优化该系统。
2.3 功能点
1:查看所有学生信息
实际上就是对数组的遍历,打印在控制台显示。
2:添加学生
将输入的学生信息存入到数组里。
3:修改学生信息
根据学生id来查找是否有该学生,并且将修改后的学生信息重新存进数组。
4:删除学生
根据学生的id来删除该学生的信息。
5:退出系统
结束,用户不能在控制继续输入了。
2.4 系统运行效果
2. 实现方法与源码
2.1 显示所有学生信息
// 显示所有的学生信息
public static void display() {
// 检查学生数组是否为空,这里的studentCount定义的是学生人数
if (studentCount == 0) {
// 如果学生数组为空,则提示用户并退出显示方法
System.out.println("暂无学生信息,请选择其他服务~~~~");
} else {
System.out.println("学号\t\t姓名\t\t性别\t\t年龄");
// 遍历学生数组,打印每个学生的信息
for (int i = 0; i < studentCount; i++) {
// 创建一个临时Student对象用于访问数组中的元素
Student stu = student[i];
System.out.println(stu.getId() + "\t" + stu.getName() + "\t\t" + stu.getSex() + "\t\t" + stu.getAge());
}
}
}
2.2 添加学生信息
// 添加学生信息
public static void addStudent() {
Scanner sc = new Scanner(System.in);
Student stu = new Student();
System.out.println("添加学生信息:");
System.out.println("请输入学号:");
stu.setId(sc.nextInt());
System.out.println("请输入的姓名:");
stu.setName(sc.next());
System.out.println("请输入你的性别:");
stu.setSex(sc.next());
System.out.println("请输入你的年龄:");
stu.setAge(sc.nextInt());
// 将新的Student对象添加到student数组中,并更新studentCount
student[studentCount++] = stu;
System.out.println("添加成功!");
}
2.3 修改学生信息
// 修改学生信息
public static void updateStudent() {
System.out.println("请输入要修改学生的学号:");
Scanner sc = new Scanner(System.in);
int newId = sc.nextInt();
int i;
// 遍历学生数组,查找学号为id的学生
for (i = 0; i < student.length; i++) {
// 如果找到对应的学生,则提示用户输入新的信息
if (student[i] != null && student[i].getId() == newId) {
System.out.println("请输入新的学号:");
int upId = sc.nextInt();
System.out.println("请输入新的姓名:");
String upName = sc.next();
System.out.println("请输入新的性别:");
String upSex = sc.next();
System.out.println("请输入新的年龄:");
int upAge = sc.nextInt();
// 使用新信息创建一个新的Student对象,并替换原数组中的学生对象
student[i] = new Student(upId, upName, upSex, upAge);
break;
}
}
// 数组下标等于数组长度则无该学生
if (i == student.length) {
System.out.println("未找到该学生信息~~~");
return;
}
System.out.println("修改成功!");
}
2.4 删除学生信息
// 删除学生信息
public static void deleteStudent() {
System.out.println("请输入要删除学生的学号:");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
int i;
for (i = 0; i < student.length; i++) {
if (student[i] != null && student[i].getId() == id) {
student[i] = null;
studentCount--;
break;
}
}
if (i == student.length) {
System.out.println("未找到该学生的信息~~~");
return;
}
System.out.println("删除成功!");
}
2.5 退出系统
// 退出系统
public static void quit() {
System.out.println("欢迎使用本软件~~~~");
}
3. 完整代码展示
3.1 Student实体类
package day240331;
/**
* @Version:1.0
* @Description: TODO(一句话描述该类的功能)
* @Date: 2024/4/1 16:58
* @Author: Administrator
*/
public class Student {
private int id; //学号
private String name; //姓名
private String sex; //性别
private int age;
public Student() {
}
public Student(int id, String name, String sex, int age) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.2 StudentManage类
package day240331;
/**
* @Version:1.0
* @Description: TODO(一句话描述该类的功能)
* @Date: 2024/4/1 17:01
* @Author: Administrator
*/
import java.util.Scanner;
public class StudentManage {
public static Student[] student = new Student[5];
public static int studentCount = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("************欢迎进入学生信息管理系统************");
System.out.println(" 1.显示所有的学生信息 ");
System.out.println(" 2.添加学生信息 ");
System.out.println(" 3.修改学生信息 ");
System.out.println(" 4.删除学生信息 ");
System.out.println(" 5.退出学生系统 ");
System.out.println("请选择你的服务:");
int choice = sc.nextInt();
switch (choice) {
case 1:
display();
break;
case 2:
addStudent();
break;
case 3:
updateStudent();
break;
case 4:
deleteStudent();
break;
case 5:
quit();
System.exit(0);
break;
default:
System.out.println("你的选择有误,请选择现有服务!");
}
}
}
// 显示所有的学生信息
public static void display() {
if (studentCount == 0) {
System.out.println("暂无学生信息,请选择其他服务~~~~");
} else {
System.out.println("学号\t\t姓名\t\t性别\t\t年龄");
for (int i = 0; i < studentCount; i++) {
Student stu = student[i];
System.out.println(stu.getId() + "\t" + stu.getName() + "\t\t" + stu.getSex() + "\t\t" + stu.getAge());
}
}
}
// 添加学生信息
public static void addStudent() {
Scanner sc = new Scanner(System.in);
Student stu = new Student();
System.out.println("添加学生信息:");
System.out.println("请输入学号:");
stu.setId(sc.nextInt());
System.out.println("请输入的姓名:");
stu.setName(sc.next());
System.out.println("请输入你的性别:");
stu.setSex(sc.next());
System.out.println("请输入你的年龄:");
stu.setAge(sc.nextInt());
// 将新的Student对象添加到student数组中,并更新studentCount
student[studentCount++] = stu;
System.out.println("添加成功!");
}
// 修改学生信息
public static void updateStudent() {
System.out.println("请输入要修改学生的学号:");
Scanner sc = new Scanner(System.in);
int newId = sc.nextInt();
int i;
for (i = 0; i < student.length; i++) {
if (student[i] != null && student[i].getId() == newId) {
System.out.println("请输入新的学号:");
int upId = sc.nextInt();
System.out.println("请输入新的姓名:");
String upName = sc.next();
System.out.println("请输入新的性别:");
String upSex = sc.next();
System.out.println("请输入新的年龄:");
int upAge = sc.nextInt();
student[i] = new Student(upId, upName, upSex, upAge);
break;
}
}
// 数组下标等于数组长度则无该学生
if (i == student.length) {
System.out.println("未找到该学生信息~~~");
return;
}
System.out.println("修改成功!");
}
// 删除学生信息
public static void deleteStudent() {
System.out.println("请输入要删除学生的学号:");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
int i;
for (i = 0; i < student.length; i++) {
if (student[i] != null && student[i].getId() == id) {
student[i] = null;
studentCount--;
break;
}
}
if (i == student.length) {
System.out.println("未找到该学生的信息~~~");
return;
}
System.out.println("删除成功!");
}
// 退出系统
public static void quit() {
System.out.println("欢迎使用本软件~~~~");
}
}