java控制台实现学生管理系统

下面是关于“java控制台实现学生管理系统”的详细攻略:

1. 确认需求,设计数据结构

在实现任何系统之前,首先需要明确系统的需求和应用场景。在这个例子中,我们需要实现一个学生管理系统,在控制台上实现增删改查的功能。

接着,我们需要设计数据结构。在这个例子中,我们可以使用一个 Student 类来表示学生,并在程序中使用一个 StudentManager 类来管理学生对象的增删改查操作。

以下是 Student 类的定义样例代码:

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

    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 int getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

以上代码是一个简单的 Student 类定义,包含学号、姓名、年龄和性别等信息。

2. 实现学生管理系统

在明确需求和数据结构之后,我们可以开始实现学生管理系统。一般而言,我们可以使用面向对象的思想,将管理学生对象的方法封装在一个类中,再提供一个控制台的交互界面,与用户进行交互。以下是 StudentManager 类的示例代码:

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

public class StudentManager {
    private List<Student> studentList; // 学生列表

    // 构造函数,初始化学生列表
    public StudentManager() {
        studentList = new ArrayList<>();
    }

    // 添加学生
    public void addStudent(Student student) {
        studentList.add(student);
    }

    // 删除学生
    public void removeStudent(String id) {
        for (int i = 0; i < studentList.size(); i++) {
            Student student = studentList.get(i);
            if (student.getId().equals(id)) {
                studentList.remove(i);
                return;
            }
        }
    }

    // 修改学生信息
    public void updateStudent(Student student) {
        for (int i = 0; i < studentList.size(); i++) {
            Student s = studentList.get(i);
            if (s.getId().equals(student.getId())) {
                s.setName(student.getName());
                s.setAge(student.getAge());
                s.setSex(student.getSex());
                return;
            }
        }
    }

    // 按学号查找学生
    public Student findStudent(String id) {
        for (int i = 0; i < studentList.size(); i++) {
            Student student = studentList.get(i);
            if (student.getId().equals(id)) {
                return student;
            }
        }
        return null;
    }

    // 展示所有学生信息
    public void showAllStudents() {
        System.out.println("学号\t\t姓名\t年龄\t性别");
        for (int i = 0; i < studentList.size(); i++) {
            Student student = studentList.get(i);
            System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getSex());
        }
    }

    public static void main(String[] args) {
        StudentManager sm = new StudentManager();

        Scanner scanner = new Scanner(System.in);

        while (true) {
            // 显示主菜单
            System.out.println("******************");
            System.out.println("* 1. 添加学生");
            System.out.println("* 2. 删除学生");
            System.out.println("* 3. 修改学生信息");
            System.out.println("* 4. 查询学生信息");
            System.out.println("* 5. 显示所有学生信息");
            System.out.println("* 0. 退出程序");
            System.out.println("******************");

            int choice = scanner.nextInt();
            scanner.nextLine(); // 读取多余的回车符

            switch (choice) {
                case 1:
                    // 添加学生信息

                    Student student = new Student();
                    System.out.print("请输入学号:");
                    student.setId(scanner.nextLine());
                    System.out.print("请输入姓名:");
                    student.setName(scanner.nextLine());
                    System.out.print("请输入年龄:");
                    student.setAge(scanner.nextInt());
                    scanner.nextLine(); // 读取多余的回车符
                    System.out.print("请输入性别:");
                    student.setSex(scanner.nextLine());

                    sm.addStudent(student);
                    break;

                case 2:
                    // 删除学生信息

                    System.out.print("请输入要删除的学生学号:");
                    String id = scanner.nextLine();
                    sm.removeStudent(id);
                    break;

                case 3:
                    // 修改学生信息

                    Student s = new Student();
                    System.out.print("请输入要修改的学生学号:");
                    s.setId(scanner.nextLine());
                    System.out.print("请输入要修改的姓名:");
                    s.setName(scanner.nextLine());
                    System.out.print("请输入要修改的年龄:");
                    s.setAge(scanner.nextInt());
                    scanner.nextLine(); // 读取多余的回车符
                    System.out.print("请输入要修改的性别:");
                    s.setSex(scanner.nextLine());

                    sm.updateStudent(s);
                    break;

                case 4:
                    // 查询学生信息

                    System.out.print("请输入要查询的学生学号:");
                    id = scanner.nextLine();
                    Student student2 = sm.findStudent(id);
                    if (student2 != null) {
                        System.out.println("学号\t\t姓名\t年龄\t性别");
                        System.out.println(student2.getId() + "\t" + student2.getName() + "\t" + student2.getAge() + "\t" + student2.getSex());
                    } else {
                        System.out.println("没有找到该学生!");
                    }
                    break;

                case 5:
                    // 显示所有学生信息

                    sm.showAllStudents();
                    break;

                case 0:
                    // 退出程序

                    System.out.println("程序已退出!");
                    return;

                default:
                    System.out.println("请输入正确的选项!");
            }
        }
    }
}

以上代码提供了学生管理系统的增删改查操作,并提供一个可以交互的控制台界面。

以下是运行示例:

(1)添加学生信息:输入 1

请输入选项:1
请输入学号:20210001
请输入姓名:张三
请输入年龄:20
请输入性别:男

(2)删除学生信息:输入 2

请输入选项:2
请输入要删除的学生学号:20210001

(3)修改学生信息:输入 3

请输入选项:3
请输入要修改的学生学号:20210001
请输入要修改的姓名:张三
请输入要修改的年龄:22
请输入要修改的性别:女

(4)查询学生信息:输入 4

请输入选项:4
请输入要查询的学生学号:20210001
学号         姓名      年龄     性别
20210001     张三      22      女

(5)显示所有学生信息:输入 5

请输入选项:5
学号         姓名      年龄     性别
20210001     张三      22      女

总结

以上是基于 Java 控制台实现学生管理系统的攻略,涵盖了其中的需求分析、数据结构定义、代码实现和运行示例等内容。通过这个例子,你可以更好地理解 Java 面向对象编程的思想,并且具备了基本的控制台应用开发能力。

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

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

相关文章

  • Java中IO流文件读取、写入和复制的实例

    下面是Java中IO流文件读取、写入和复制的实例的完整攻略。 IO流简介 在Java中,输入输出都是通过流(Stream)来实现的,也就是将数据源或者目的地以流的形式组织起来,以字节为基础的流就是字节流,以字符为基础的流就是字符流。在Java中,IO流分为四个抽象类:InputStream、OutputStream、Reader和Writer。 文件读取 J…

    Java 2023年5月20日
    00
  • 详解springboot解决CORS跨域的三种方式

    详解Spring Boot解决CORS跨域的三种方式 在Web应用程序中,我们经常需要解决CORS(跨域资源共享)问题。CORS是一种安全机制,用于限制跨域访问。本文将详细讲解Spring Boot解决CORS跨域的三种方式,并提供两个示例。 1. 添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId&…

    Java 2023年5月15日
    00
  • spring boot tomcat jdbc pool的属性绑定

    关于“spring boot tomcat jdbc pool的属性绑定”的完整攻略,我可以从以下几个方面进行讲解: 引入依赖 首先,我们需要在pom.xml文件中引入相关的依赖,在该文件中添加如下内容: <dependency> <groupId>org.springframework.boot</groupId> &l…

    Java 2023年5月19日
    00
  • Java源码难点突破Lambda表达式执行原理

    针对“Java源码难点突破Lambda表达式执行原理”这个话题,我可以给您提供以下完整攻略: 1. 理解Lambda表达式的定义和语法 要想理解Lambda表达式的执行原理,首先需要了解Lambda表达式的定义和语法。Lambda表达式是一种匿名函数,可以被视为一种简洁的代码块,可以作为参数传递给方法或者存储在变量中。 Lambda表达式的一般语法如下所示:…

    Java 2023年5月26日
    00
  • jsp页面显示数据库的数据信息表

    下面是如何在JSP页面中显示数据库的数据信息表的完整攻略。 第一步:连接数据库 在JSP中连接数据库需要使用JDBC驱动程序。我们可以使用以下代码来连接MySQL数据库。 <%@ page import="java.sql.*" %> <% Connection con = null; Statement stmt = …

    Java 2023年6月15日
    00
  • SpringBoot创建并简单使用的实现

    下面我会给出一份详细的Spring Boot创建并简单使用的攻略,包含以下几个部分: 环境准备 创建Spring Boot项目 使用Spring Boot 示例1:创建RESTful API 示例2:集成Thymeleaf模板引擎 环境准备 在开始创建Spring Boot项目之前,需要进行相关的环境准备。首先,需要确保你已经安装了Java和Maven,在安…

    Java 2023年5月15日
    00
  • java将String字符串转换为List类型实例方法

    这里是将String字符串转换为List类型实例方法的详细攻略。 第一步:导入Java的util库 import java.util.*; 第二步:定义一个静态方法将String字符串转化为List public static List<Long> convertStringToList(String inputString) { List&lt…

    Java 2023年5月26日
    00
  • java实现简单的图书管理系统

    下面就为您详细讲解如何使用Java实现简单的图书管理系统。 1. 软件需求分析 在开发图书管理系统前,首先要进行需求分析。需求分析包括以下内容: 明确系统用户:管理员和读者; 明确系统功能:管理员可以添加、删除、修改图书信息,读者可以查询图书信息; 系统安全性:需要保证管理员权限较高,读者只能进行查询操作。 2. 数据库设计 在实现图书管理系统前,需要设计数…

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