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

相关推荐

  • 在eclipse中创建JavaWeb项目

    启动软件并选择工作空间 创建项目 选择配置首次配置Tomcat时,界面会显示如下 继续操作,点击下一步实际上,这一步也可以直接点击“Next”继续 最终界面如下此时,项目创建成功 编写一个简单的三层架构示例:entity层代码: package com.zuxia.entity; public class CakeEntity { // 甜品编号 priva…

    2024 年 12 月 24 日
    33100
  • Python 潮流周刊#85:让 AI 帮你写出更好的代码(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 分享了 12 篇文章,12 个开源项目,1 则音视频,全文 2300 字。 以下是本期摘要: 🦄文章&教程 ① 如果一直要求 LLM “写出更…

    未分类 2025 年 1 月 12 日
    29600
  • 交易系统:退款单模型设计详解

    大家好,我是汤师爷~ 和退款单作为整个交易逆向系统的核心,支撑着售后管理环节。 售后域核心概念模型 1、退款单 退款单是记录和跟踪退款处理过程的核心业务单据,包含以下关键信息: 租户ID:标识所属商户或组织 退款单ID:退款单的唯一标识 原订单ID:关联的原始订单 业务类型:仅退款、退货退款等 退款类型:如全额退款、部分退款、按商品退款等 创建时间:退款单生…

    2025 年 1 月 1 日
    40300
  • Python包管理不再头疼:uv工具快速上手

    Python 包管理生态中存在多种工具,如 pip、pip-tools、poetry、conda 等,各自具备一定功能。 而今天介绍的uv 是 Astral 公司推出的一款基于 Rust 编写的 Python 包管理工具,旨在成为 “Python 的 Cargo ”。 它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为 Python…

    2024 年 12 月 30 日
    1.1K00
  • Java毕设项目:基于Springboot影视推荐网站系统设计与实现开题报告

    博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩,提供核心代码讲解,答辩指导。 项目配有对应开发文档、开题报告、任务书、PPT等,提供毕业设计论文辅导。 项目都录了发布和…

    2025 年 1 月 6 日
    47400

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信