java学生信息管理系统设计(2)

在这个学生信息管理系统设计中,我们需要实现一个基于Java的学生信息管理系统,包括如下功能模块:

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)

基础教程推荐