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

yizhihongxing

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基础知识的理解,还可以掌握项目开发的大致流程与方法。

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

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

相关文章

  • springboot整合dubbo设置全局唯一ID进行日志追踪的示例代码

    下面就是 “springboot整合dubbo设置全局唯一ID进行日志追踪的示例代码” 的详细攻略。 先了解基本概念 在介绍示例代码之前,先了解一下基本概念,有助于更好地理解实现过程: Dubbo:一种高性能、轻量级的远程服务框架,支持 RPC 协议和多种注册中心。 TraceId:一条调用链路的唯一标识,常用于日志追踪,用于串联业务流程的各个步骤。 MDC…

    Java 2023年5月20日
    00
  • Java如何实现支付宝电脑支付基于servlet版本

    Java 如何实现支付宝电脑支付基于 Servlet 版本,具体的实现步骤如下: 1. 注册支付宝商家账号 首先需要注册一个支付宝商家账号。 2. 下载支付宝开发者工具包 下载支付宝提供的开发者工具包,官方推荐使用 Java 版本的 SDK。 3. 创建订单 在进行支付前需要创建一个订单,在创建订单时需要填写订单的一些基本信息,例如订单金额、商品名称、订单号…

    Java 2023年5月26日
    00
  • java转化为exe程序步骤详解

    下面是“java转化为exe程序步骤详解”的完整攻略。 一、为什么需要将Java程序转换为EXE? 传统的Java程序需要安装Java运行环境(JRE)才能运行,若是要运行Java应用,还需要下载Java应用的jar文件,使用命令行或者双击jar文件执行。这些过程对于大多数用户来说都是繁琐的,不能像传统的exe文件一样直接双击运行。因此,我们需要将Java程…

    Java 2023年5月23日
    00
  • JavaWeb文件上传与下载功能解析

    JavaWeb文件上传与下载功能解析 文件上传功能 在JavaWeb中,文件上传主要包括三个部分:前端页面、后端处理、文件保存。 前端页面 文件上传的前端页面需要使用form表单,同时表单属性需要设置为enctype=”multipart/form-data”,以支持文件上传。例如: <form action="upload" me…

    Java 2023年5月19日
    00
  • java实现选课系统

    Java实现选课系统攻略 系统需求 选课系统是一个常见的教育管理应用,主要用于实现学生、课程、教师的信息管理以及选课和退课功能的实现。 在实现选课系统时,需要满足以下系统需求: 学生信息管理 学生信息包括学生姓名、学号、所选课程等; 学生可以根据自己的需求进行选课和退课操作; 学生可以查询已选课程和剩余可选课程。 课程信息管理 课程信息包括课程名称、课程编号…

    Java 2023年5月30日
    00
  • Spring Data JPA 之 JpaRepository的使用

    下面将为您详细讲解Spring Data JPA之JpaRepository的使用攻略。 什么是JpaRepository? JpaRepository是Spring Data JPA提供的一个接口,它继承自PagingAndSortingRepository接口,同时它还继承了CrudRepository接口,提供了一些与业务相关的方法,如save、del…

    Java 2023年5月20日
    00
  • Java日常练习题,每天进步一点点(45)

    这里是关于“Java日常练习题,每天进步一点点(45)”的完整攻略: 1. 题目描述 该题目是一道字符串操作的练习题,在给定的字符串中找到第一个不重复的字符并返回其下标,如果不存在不重复的字符,就返回 -1。 2. 解题思路 字符串操作的题目,可以使用哈希表来解决。我们可以先遍历整个字符串,用哈希表来统计每个字符出现的次数,然后再次遍历字符串,找到第一个出现…

    Java 2023年5月26日
    00
  • Java中的递归方法示例介绍

    下面是我详细讲解“Java中的递归方法示例介绍”的完整攻略。 什么是递归方法 递归方法是指一个方法可以直接或者间接地调用自己的方法,这种方法通常用于解决那些可以被分割成几个同样情况的小问题的问题。 递归的基本原理是将一个大问题分割成若干具有相同解法的小问题,每个小问题又可以通过同一种方法进行进一步分解,直到最后可以解决这个问题或者其中一个问题。 在Java中…

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