Java学生信息管理系统设计(2)攻略
在这个学生信息管理系统设计中,我们需要实现一个基于Java的学生信息管理系统,包括如下功能模块:
- 学生信息录入
- 学生信息查询
- 学生信息删除
- 学生信息修改
学生信息录入
学生信息录入主要包括学生的基本信息,例如学号、姓名、性别、年龄、出生日期、家庭住址等等。
在实现学生信息录入的过程中,我们需要设计对应的数据模型,并使用Java对象来保存学生的基本信息。具体的实现过程如下:
// 创建一个学生类来保存学生的基本信息
public class Student {
private String id;
private String name;
private String gender;
private int age;
private String address;
private Date birthDate;
// getter和setter方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}
在实现完对应的数据模型后,我们需要在程序中实现学生信息的录入功能。具体实现过程如下:
import java.util.Scanner;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StudentManagementSystem {
// 保存学生信息的数组
private static Student[] students = new Student[100];
// 保存当前存储的学生数量
private static int studentCount = 0;
// 实现学生信息的录入功能
public static void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生的基本信息:");
System.out.print("学号:");
String id = scanner.nextLine();
System.out.print("姓名:");
String name = scanner.nextLine();
System.out.print("性别:");
String gender = scanner.nextLine();
System.out.print("年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 处理掉行末的回车符
System.out.print("家庭住址:");
String address = scanner.nextLine();
System.out.print("出生日期(格式为 yyyy-MM-dd):");
String birthDateString = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date birthDate = null;
try {
birthDate = dateFormat.parse(birthDateString);
} catch (Exception e) {
System.out.println("日期格式不合法,请重新输入!");
return; // 日期格式不合法,录入失败
}
Student student = new Student();
student.setId(id);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setAddress(address);
student.setBirthDate(birthDate);
students[studentCount] = student;
studentCount++;
System.out.println("恭喜您,学生信息录入成功!");
}
}
示例:用户可以按照程序提示输入学生的基本信息,实现学生信息的录入:
请输入学生的基本信息:
学号:1001
姓名:张三
性别:男
年龄:20
家庭住址:北京市海淀区
出生日期(格式为 yyyy-MM-dd):2000-01-01
恭喜您,学生信息录入成功!
学生信息查询
学生信息查询主要是查询已经录入的学生信息,并可以根据学号或者姓名进行模糊查询。
具体的实现过程如下:
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class StudentManagementSystem {
// ...
// 实现学生信息的查询功能
public static void queryStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入查询关键字:");
String keyword = scanner.nextLine();
// 遍历学生数组,查找符合查询关键字的学生信息
System.out.println("查询结果:");
for (int i = 0; i < studentCount; i++) {
Student student = students[i];
if (student.getId().contains(keyword) || student.getName().contains(keyword)) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String birthDateString = dateFormat.format(student.getBirthDate());
System.out.println(student.getId() + "\t" + student.getName() + "\t" +
student.getGender() + "\t" + student.getAge() + "\t" + birthDateString +
"\t" + student.getAddress());
}
}
}
// ...
}
示例:用户输入关键字“张”,程序会从已经录入的学生中,查找姓名或者学号中包含“张”的学生,并输出对应的学生信息:
请输入查询关键字:
张
查询结果:
1001 张三 男 20 2000-01-01 北京市海淀区
学生信息删除
学生信息删除功能主要用于删除指定学号的学生信息。具体实现过程如下:
import java.util.Scanner;
public class StudentManagementSystem {
// ...
// 实现学生信息的删除功能
public static void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生的学号:");
String id = scanner.nextLine();
for (int i = 0; i < studentCount; i++) {
if (students[i].getId().equals(id)) {
// 将要删除的学生信息置为null,并将后面的学生向前移动一位
for (int j = i; j < studentCount - 1; j++) {
students[j] = students[j + 1];
}
students[studentCount - 1] = null;
studentCount--;
System.out.println("学生信息删除成功!");
return;
}
}
System.out.println("查无此人,删除失败!");
}
// ...
}
示例:用户输入要删除学生的学号,程序会查找对应学生的信息,并删除学生信息:
请输入要删除的学生的学号:
1001
学生信息删除成功!
学生信息修改
学生信息修改功能主要用于修改学生的基本信息。具体实现过程如下:
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class StudentManagementSystem {
// ...
// 实现学生信息的修改功能
public static void updateStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生的学号:");
String id = scanner.nextLine();
for (int i = 0; i < studentCount; i++) {
if (students[i].getId().equals(id)) {
System.out.println("请输入新的学生基本信息:");
System.out.print("姓名(当前值为" + students[i].getName() + "):");
String name = scanner.nextLine();
System.out.print("性别(当前值为" + students[i].getGender() + "):");
String gender = scanner.nextLine();
System.out.print("年龄(当前值为" + students[i].getAge() + "):");
int age = scanner.nextInt();
scanner.nextLine(); // 处理掉行末的回车符
System.out.print("家庭住址(当前值为" + students[i].getAddress() + "):");
String address = scanner.nextLine();
System.out.print("出生日期(当前值为" + new SimpleDateFormat("yyyy-MM-dd")
.format(students[i].getBirthDate()) + "):");
String birthDateString = scanner.nextLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
students[i].setName(name);
students[i].setGender(gender);
students[i].setAge(age);
students[i].setAddress(address);
students[i].setBirthDate(dateFormat.parse(birthDateString));
System.out.println("学生信息修改成功!");
return;
} catch (Exception e) {
System.out.println("日期格式不合法,修改失败!");
return;
}
}
}
System.out.println("查无此人,修改失败!");
}
// ...
}
示例:用户输入要修改学生的学号,程序会查找对应学生的信息,并允许用户修改对应学生的基本信息:
请输入要修改的学生的学号:
1001
请输入新的学生基本信息:
姓名(当前值为张三):李四
性别(当前值为男):女
年龄(当前值为20):21
家庭住址(当前值为北京市海淀区):北京市海淀区西二旗
出生日期(当前值为2000-01-01):2000-02-02
学生信息修改成功!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java学生信息管理系统设计(2) - Python技术站