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

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技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java获取时间年、月、日的方法

    下面是详细讲解 Java 获取时间年、月、日的方法的攻略。 获取当前时间 Java 中获取当前时间的方法有很多种,下面介绍两种比较常见的方法: 方法一:使用 Date 类 可以使用 Java 中的 Date 类来获取当前时间,代码如下: import java.util.Date; public class GetCurrentTimeDemo { publ…

    Java 2023年5月20日
    00
  • JAVA如何调用wsdl过程详解

    在JAVA中调用WSDL过程需要使用SOAP协议,以实现在网络间的交互。 以下是JAVA调用WSDL过程的详细攻略: 1. 导入WSDL文件 首先需要导入WSDL文件,可以使用JAVA的wsimport工具实现自动生成JAVA代码。在命令行中进入wsimport所在文件夹,输入以下命令: wsimport <WSDL地址> 实际执行时,可以将替换…

    Java 2023年5月26日
    00
  • 五种 JSP页面跳转方法详解

    现在我将为你详细讲解“五种 JSP 页面跳转方法详解”的完整攻略。 一、为什么需要 JSP 页面跳转 JSP 页面跳转是网站开发中常用的功能,在实现页面跳转时可以提高用户的交互体验和界面美感。因此,我们有必要了解 JSP 页面跳转的实现方法。 二、五种 JSP 页面跳转方法 在 JSP 页面跳转中常用的有以下五种方法: 1. 使用响应重定向 使用响应重定向(…

    Java 2023年6月15日
    00
  • java实战小技巧之优雅的实现字符串拼接

    下面是关于”Java实战小技巧之优雅的实现字符串拼接”的攻略。 背景 字符串拼接是Java开发中比较基础的操作之一,但是在不注意的情况下,随意的字符串拼接方式可能会导致代码的可读性和可维护性下降。因此,在进行Java开发时,需要注意如何优雅地实现字符串拼接,提高代码的可读性、可维护性和效率。 方式一:使用StringBuilder 在Java中,字符串拼接的…

    Java 2023年5月26日
    00
  • 使用Spring处理x-www-form-urlencoded方式

    要使用Spring处理x-www-form-urlencoded方式,需要进行以下步骤: 配置Spring MVC 在web.xml中配置DispatcherServlet。在DispatcherServlet的xml配置文件中,添加,启用Spring MVC注解驱动。这样Spring MVC就可以自动处理表单提交请求。 编写Controller Sprin…

    Java 2023年5月20日
    00
  • IDEA 启动 Tomcat 项目输出乱码的解决方法

    下面是关于“IDEA 启动 Tomcat 项目输出乱码的解决方法”的完整攻略: 1. 问题描述 在使用 IDEA 启动 Tomcat 项目时,控制台输出的内容是一些乱码,影响了开发和调试的效率。 2. 解决方法 2.1 修改 Tomcat 服务器配置 在 Tomcat 服务器配置中,添加一些 JVM 参数,来指定字符集和编码方式。 步骤如下: 在 IDEA …

    Java 2023年5月19日
    00
  • Mybatis下的SQL注入漏洞原理及防护方法解析

    Mybatis是一个流行的Java持久层框架,它具有方便的ORM(对象关系映射)实现方式和优秀的性能。然而,一些开发人员对Mybatis的SQL注入漏洞缺乏足够的认识,导致了许多Mybatis系统的漏洞。 SQL注入漏洞原理 所谓SQL注入,是指攻击者在Web应用中注入恶意的SQL语句,从而执行一些数据篡改、信息泄露等恶意操作。Mybatis中的SQL注入漏…

    Java 2023年5月20日
    00
  • MyEclipse CI 2019怎么安装?MyEclipse CI 2019.4安装激活方法+使用教程

    以下是“MyEclipse CI 2019怎么安装?MyEclipse CI 2019.4安装激活方法+使用教程”的完整攻略。 安装MyEclipse CI 2019 首先进入MyEclipse官网,点击下载按钮,选择MyEclipse CI 2019版本进行下载。 安装过程较为简单,按下一步指示即可。注意在安装过程中选择想要安装的插件。 示例说明:选择安装…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部