Java-学生管理系统[初阶]

让我们来探索如何使用Java语言构建一个基础的“学生信息管理系统”。这个系统将允许我们管理学生的基本信息,包括添加、删除、修改和查询学生数据。接下来,我们将分步骤实现这个系统,并在后续的文章中探讨如何为其添加模拟登录功能。

基础版学生管理系统

在深入代码之前,我们需要掌握以下Java编程基础:

  • Java的输入输出操作
  • Java的分支与循环结构
  • Java数组的使用
  • Java方法的定义与调用,包括重载
  • Java面向对象基础,包括类和对象的创建,以及构造方法的使用
  • Java集合的基本使用

一、学生管理系统基础版

首先,我们需要明确这个系统需要实现哪些功能:

  1. 添加学生信息
  2. 删除学生信息
  3. 修改学生信息
  4. 查询(打印)学生信息
  5. 退出学生管理系统

(注:学生信息包括“id”、“姓名”、“年龄”、“成绩”四个属性)

① 创建学生类

在开始构建系统之前,我们首先需要定义一个“学生”类来表示学生对象:

public class Student {
    private String id;
    private String name;
    private int age;
    private double score;

    public Student(String id, String name, int age, double score) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public Student() {}

    // Getter and Setter methods for each field
}

② 创建系统菜单

接下来,我们需要在主程序中创建一个系统菜单,并使用switch语句来处理用户的选择:

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

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList students = new ArrayList<>();

        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("请输入你的选择:");
            String choice = in.next();

            switch (choice) {
                case "1":
                    addStudent(students);
                    break;
                case "2":
                    deleteStudent(students);
                    break;
                case "3":
                    reviseStudent(students);
                    break;
                case "4":
                    printStudents(students);
                    break;
                case "5":
                    System.out.println("退出学生管理系统");
                    return;
                default:
                    System.out.println("输入错误,请重新选择");
            }
        }
    }

    // Method implementations for add, delete, revise, and print
}

③ 查询(打印)学生信息

为了查询学生信息,我们需要一个数据结构来存储学生数据。在这里,我们选择使用集合(如ArrayList),因为它提供了灵活的数据操作接口:

public static void printStudents(ArrayList students) {
    System.out.println("查询学生");
    if(students.isEmpty()) {
        System.out.println("目前系统中暂无学生!");
    } else {
        for (Student student : students) {
            System.out.println("id:" + String.format("%-8s", student.getId()) +
                    "姓名:" + String.format("%-8s", student.getName()) +
                    "年龄:" + String.format("%-8d", student.getAge()) +
                    "成绩:" + String.format("%-8.2f", student.getScore()));
        }
    }
}

④ 在系统中添加学生

添加学生信息时,我们需要确保每个学生的id是唯一的:

public static void addStudent(ArrayList students) {
    Scanner in = new Scanner(System.in);
    System.out.println("添加学生");
    while (true) {
        System.out.println("请输入学生id:");
        String id = in.next();
        if (findStudentById(students, id) != -1) {
            System.out.println("该学生已经存在,请重新输入");
            continue;
        }
        System.out.println("请输入学生姓名:");
        String name = in.next();
        System.out.println("请输入学生年龄:");
        int age = in.nextInt();
        System.out.println("请输入学生成绩:");
        double score = in.nextDouble();
        Student student = new Student(id, name, age, score);
        students.add(student);
        System.out.println("学生添加成功");
        break;
    }
}

⑤ 在系统中删除学生

删除学生信息时,

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4515.html

(0)
LomuLomu
上一篇 2024 年 12 月 27 日 下午7:42
下一篇 2024 年 12 月 27 日 下午8:43

相关推荐

  • 使用 gt-checksum 迁移表结构到 GreatSQL

    将数据库表结构迁移至 GreatSQL 的实践指南 引言 本文旨在指导用户如何利用 gt-checksum 工具,将数据库表结构从 ORACLE 平台平滑迁移至 GreatSQL。以下是详细的操作步骤和配置说明。 工具介绍:gt-checksum gt-checksum 是由 GreatSQL 社区开发的开源静态数据库校验与修复工具,广泛支持包括 MySQL…

    未分类 2024 年 12 月 27 日
    41200
  • MySQL 优化利器 SHOW PROFILE 的实现原理

    背景 近期,我遇到了一个案例,涉及到通过可传输表空间的方式导入一个体积达4GB的表,整个过程耗时13分钟。通过使用PROFILE进行性能分析,意外发现大部分时间都耗费在了System lock阶段。 mysql> set profiling=1; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> a…

    未分类 2024 年 12 月 27 日
    40800
  • 使用 gt-checksum 迁移表结构到 GreatSQL

    将数据库表结构迁移至 GreatSQL 的指南 引言 本文旨在指导如何利用 gt-checksum 工具,将数据库表结构从 ORACLE 迁移至 GreatSQL。 gt-checksum 简介 gt-checksum 是 GreatSQL 社区开发的开源静态数据库校验和修复工具,它支持包括 MySQL 和 Oracle 在内的多种主流数据库系统。其商业版本…

    未分类 2024 年 12 月 24 日
    53500
  • NLP 中文拼写检测开源-01-基于贝叶斯公式的拼写检查器 CSC

    拼写纠正系列 NLP 开源项目 以下是一些精选的NLP开源项目,它们在拼写检测和纠正方面表现出色: nlp-hanzi-similar:汉字相似度计算库 word-checker:中英文拼写检测工具 pinyin:汉字转拼音工具 opencc4j:繁简体转换库 sensitive-word:敏感词检测工具 前言 大家好,我是老马。 本文将分享一些开源项目和文…

    2024 年 12 月 26 日
    47200
  • 微软开源!Office 文档轻松转 Markdown!

    大家好,我是 Java陈序员。 今天,给大家介绍一款微软开源的文档转 Markdown 工具。 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 MarkItDown —— 微软开源的 Python 工具,能够将多种常见的文件格式(如 PDF、PowerPoint、Word、Excel、图像、音频…

    2025 年 1 月 12 日
    50600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信