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

相关推荐

  • Microi 吾码与 JavaScript:前端低代码平台的强大组合

    ![](https://pic.it1024doc.com/csdn/202412/5916173c18b26b7984e2009ddcc49015.png) **目录** [一、引言](#一、引言) [二、Microi 吾码概述](#二、Microi-吾码概述) [三、JavaScript 在 Microi 吾码前端开发中的应用](#三、JavaScrip…

    未分类 2024 年 12 月 28 日
    47000
  • Java数据结构精讲:深入探索链表操作与面试题解析(第三部分)

    专题系列:Java数据结构解析 作者主页:编程探索者内容导航一、链表常见面试题精解1.1. 链表元素分割问题1.2. 判断回文链表1.3. 寻找链表交点1.4. 检测环形链表 一、链表常见面试题精解 1.1. 链表元素分割问题 题目要求保持原始数据顺序不变。我们可以通过遍历链表,将节点根据给定值x分成前后两部分。具体实现时,需要维护四个指针分别表示两个子链表…

    2025 年 5 月 15 日
    26500
  • 思维导图xmind如何安装?附安装包

    前言 大家好,我是小徐啊。我们在Java开发中,有时候是需要用到思维导图的,这可以帮助我们更好的理清思路,提高开发的效率。而说到思维导图,最有名的就是xmind了,它的功能十分强大,几乎是思维导图里面最强大的那一个。但是,默认只能使用初级功能,高级功能需要额外再开通,今天小徐就来介绍下如何安装xmind以及升级,让我们可以使用pro的功能。文末附获取方式。 …

    2025 年 1 月 11 日
    65400
  • Java笔记(一)内部类

    这是关于我对内部类理解的笔记,可能写的不怎么好,所以虚心接受大佬的指导 内部类(Nested Class) 定义在一个类中的另一个类被叫做内部类(Inner Class), 内部类有四种类型成员内部类、静态内部类、局部内部类、匿名内部类 成员内部类、局部内部类、匿名内部类中 成员内部类 “`java // inner class public class …

    未分类 2025 年 1 月 7 日
    40100
  • 促销系统:促销活动、优惠券、优惠规则概念模型设计

    大家好,我是汤师爷~ 概念模型设计是促销系统开发的关键环节,我们需要基于之前的功能分析,将复杂的促销业务拆解成清晰的领域概念,这些概念之间的关系界定和边界划分,将直接决定系统的可维护性和扩展性。 促销系统核心概念模型 通过对促销业务的分析,我们可以抽象出促销系统的关键概念模型。 1、促销活动模型 促销活动模型对活动的各个要素和规则进行抽象,包含活动名称、描述…

    2025 年 1 月 6 日
    55600

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信