java基于控制台的学生学籍管理系统

Java基于控制台的学生学籍管理系统攻略

Java基于控制台的学生学籍管理系统是一个简单的功能系统,它可以实现输入学生的基本信息,并且可以进行修改、删除、查询和统计等操作。下面是详细的攻略方案:

1. 项目创建与初始化

首先需要打开编辑器,比如Eclipse或者IntelliJ IDEA,创建一个Java项目,选择控制台应用程序作为项目类型,命名为StudentManageSystem。

然后,创建几个Java类,包括:

  1. 学生类(Student):包含学生的编号、姓名、性别、年龄等属性,以及相关的get、set方法;
  2. 学籍管理类(StudentManagement):包含添加、修改、删除、查询、统计等方法;
  3. 主程序类(Main):负责与用户交互,调用学籍管理类的方法,执行学生学籍管理系统的相关操作。

2. 学生类的设计与实现

在学生类中,需要定义一些常用的属性和方法,比如:

public class Student {
    private int id;          // 学生编号
    private String name;     // 学生姓名
    private String gender;   // 学生性别
    private int age;         // 学生年龄

    // 构造方法
    public Student(int id, String name, String gender, int age) {
        this.id = id;
        this.name = name;
        this.gender = gender;
        this.age = age;
    }

    // get和set方法
    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 getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    // toString方法,用于将学生对象转换为字符串
    @Override
    public String toString() {
        return "学生编号:" + id + ",学生姓名:" + name + ",学生性别:" + gender + ",学生年龄:" + age;
    }
}

3. 学籍管理类的设计与实现

在学籍管理类中,需要实现学生信息的增删改查以及统计等基本操作。

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManagement {
    private ArrayList<Student> students = new ArrayList<Student>();
    private int idCount = 1;    // 学生编号从1开始计数

    // 添加学生
    public void addStudent() {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = input.nextLine();
        System.out.println("请输入学生性别:");
        String gender = input.nextLine();
        System.out.println("请输入学生年龄:");
        int age = Integer.parseInt(input.nextLine());

        Student student = new Student(idCount, name, gender, age);
        students.add(student);
        idCount++;    // 学生编号自增
    }

    // 修改学生信息
    public void updateStudent() {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入要修改的学生编号:");
        int id = Integer.parseInt(input.nextLine());
        for (Student student : students) {
            if (student.getId() == id) {
                System.out.println("请输入新的学生姓名:");
                String name = input.nextLine();
                System.out.println("请输入新的学生性别:");
                String gender = input.nextLine();
                System.out.println("请输入新的学生年龄:");
                int age = Integer.parseInt(input.nextLine());

                student.setName(name);
                student.setGender(gender);
                student.setAge(age);
                System.out.println("修改成功!");
                return;
            }
        }
        System.out.println("学生编号不存在!");
    }

    // 删除学生
    public void deleteStudent() {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入要删除的学生编号:");
        int id = Integer.parseInt(input.nextLine());
        for (Student student : students) {
            if (student.getId() == id) {
                students.remove(student);
                System.out.println("删除成功!");
                return;
            }
        }
        System.out.println("学生编号不存在!");
    }

    // 查询学生信息
    public void queryStudent() {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入要查询的学生姓名或编号:");
        String keyword = input.nextLine();
        for (Student student : students) {
            if (student.getName().contains(keyword) || Integer.toString(student.getId()).contains(keyword)) {
                System.out.println(student);
            }
        }
    }

    // 统计学生数
    public int countStudents() {
        return students.size();
    }
}

4. 主程序类的设计与实现

在主程序类中,需要实现用户交互的功能,并调用学籍管理类的方法进行处理。

import java.util.Scanner;

public class Main {
    private static StudentManagement studentManagement = new StudentManagement();

    public static void main(String[] args) {
        System.out.println("欢迎使用学生学籍管理系统!");
        Scanner input = new Scanner(System.in);
        while (true) {
            System.out.println("请输入操作编号(1.添加学生 2.修改学生信息 3.删除学生 4.查询学生信息 5.统计学生数 6.退出系统):");
            int choice = Integer.parseInt(input.nextLine());
            switch (choice) {
            case 1:
                studentManagement.addStudent();
                break;
            case 2:
                studentManagement.updateStudent();
                break;
            case 3:
                studentManagement.deleteStudent();
                break;
            case 4:
                studentManagement.queryStudent();
                break;
            case 5:
                int count = studentManagement.countStudents();
                System.out.println("学生总数:" + count);
                break;
            case 6:
                System.out.println("感谢使用本系统,再见!");
                System.exit(0);
            default:
                System.out.println("输入有误,请重新输入!");
                break;
            }
        }
    }
}

5. 示例说明

示例一:添加学生信息

在主程序中选择1,输入学生姓名、性别、年龄,即可添加学生信息。如下所示:

请输入操作编号(1.添加学生 2.修改学生信息 3.删除学生 4.查询学生信息 5.统计学生数 6.退出系统):
1
请输入学生姓名:
张三
请输入学生性别:
男
请输入学生年龄:
20

示例二:修改学生信息

在主程序中选择2,输入学生编号,然后输入新的学生姓名、性别、年龄,即可修改学生信息。如下所示:

请输入操作编号(1.添加学生 2.修改学生信息 3.删除学生 4.查询学生信息 5.统计学生数 6.退出系统):
2
请输入要修改的学生编号:
1
请输入新的学生姓名:
李四
请输入新的学生性别:
女
请输入新的学生年龄:
22
修改成功!

6. 总结

上述就是Java基于控制台的学生学籍管理系统的攻略方案。通过实现该项目,不仅能够加深Java基础知识的理解,还可以掌握项目开发的大致流程与方法。

阅读剩余 80%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基于控制台的学生学籍管理系统 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • 详解SpringBoot简化配置分析总结

    详解SpringBoot简化配置分析总结 Spring Boot是一个流行的Java框架,可以帮助开发人员快速构建和部署应用程序。Spring Boot通过简化配置和提供自动配置来提高开发效率。本文将详细讲解Spring Boot简化配置的原理和实现,并提供两个示例,演示如何使用Spring Boot简化配置。 1. Spring Boot简化配置的原理 S…

    Java 2023年5月14日
    00
  • java多媒体文件编码 处理工具类代码实例

    Java多媒体文件编码处理工具类 本文将详细讲解如何使用Java多媒体文件编码处理工具类来编码、解码、转换和编辑多媒体文件。 什么是Java多媒体文件编码处理工具类? Java多媒体文件编码处理工具类是一个Java库,提供了编码、解码、转换和编辑多媒体文件的功能。它支持音频和视频文件的处理,其中包括: 音频格式:MP3、WAV、AIFF、AU、FLAC、OG…

    Java 2023年5月19日
    00
  • SpringMVC框架搭建idea2021.3.2操作数据库的示例详解

    下面我会详细讲解“SpringMVC框架搭建idea2021.3.2操作数据库的示例详解”的完整攻略。 1. 搭建SpringMVC框架和数据库 下载配置Tomcat 首先要下载配置Tomcat,可在官网下载二进制安装包,并在IDEA中进行配置。 创建新的项目 在IDEA中创建SpringMVC项目,选择“SpringMVC”模板即可。 配置SpringMV…

    Java 2023年5月20日
    00
  • Java面试题冲刺第二十七天–JVM2

    Java面试题冲刺第二十七天–JVM2 1. 内存模型 Java内存模型主要分为两种: 堆内存:存放我们new出来的对象以及数组等,这部分内存可以动态申请或释放。一般情况下,堆内存比较大。 栈内存:存放基本类型的变量以及对象的引用变量(指针),这些变量会随着程序的运行而申请或释放。栈的空间比较小,一般情况下,栈的大小是在程序启动的时候就固定下来。 2. J…

    Java 2023年5月19日
    00
  • Spring整合SpringMVC + Mybatis基础框架的配置文件详解

    Spring整合SpringMVC + Mybatis基础框架的配置文件详解 Spring整合SpringMVC和Mybatis是一种常用的Java Web开发框架组合,它们分别负责业务逻辑、Web层和数据访问层。本文将介绍如何使用这三个框架构建基础框架,并详细讲解配置文件的设置。 环境搭建 在开始之前,我们需要先搭建好开发环境。以下是环境搭建的步骤: 安装…

    Java 2023年5月17日
    00
  • 详解SpringMVC 基础教程 简单入门实例

    《详解SpringMVC 基础教程》是一篇介绍SpringMVC框架的文章,本文将为读者提供完整攻略,以供参考和学习。 SpringMVC 简介 SpringMVC是基于MVC设计模式的Web框架,它能够帮助开发者快速地搭建Web应用,并提供了丰富的标签和注解,使得开发Web应用变得更加简单。其优点包括组件化、灵活性、可重用性等。 SpringMVC 基础教…

    Java 2023年5月16日
    00
  • Maven的生命周期与自定义插件实现方法

    Maven是一款流行的Java项目管理工具,旨在统一、规范Java项目的构建和管理。Maven的生命周期是Maven的基本工作单元,包括了一系列阶段,而自定义插件则是扩展了Maven的功能,能够满足我们在项目构建中的特殊需求。下面我们来详细讲解Maven的生命周期和自定义插件实现方法。 Maven的生命周期 Maven的生命周期是Maven的核心,是构建过程…

    Java 2023年5月20日
    00
  • java多线程之线程安全的单例模式

    Java中的单例模式是指某个类只有一个实例,并提供全局访问点。在多线程的环境下,单例模式需要控制并发访问下的线程安全。下面我们来详细讲解“Java多线程之线程安全的单例模式”的完整攻略。 线程安全的单例模式 线程安全的单例模式可以通过同步方法或同步块来实现。下面是一个使用同步方法实现线程安全单例模式的示例。 public class Singleton { …

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