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

相关推荐

  • Redis Java 集成到 Spring Boot

    Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Redis 📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。 Redis Java 集成到 Spring Boot 一、使用 Spring Boot 连接 Redis 单机 1.创…

    2024 年 12 月 28 日
    37400
  • MySQL 面试题

    MySQL 中有哪几种锁? 全局锁、行级锁、自增锁、记录锁、外键锁、间隙锁、表级锁、元数据锁、意向锁、临键锁 MySQL 中有哪些不同的表格? 基础表、临时表、系统表、信息表、性能模式表、分区表、外键表、触发器使用的表、存储过程和函数使用的表 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别? 事务支持 InnoDB:支持事务处理,具有提…

    未分类 2025 年 1 月 13 日
    57200
  • 数据库与编程语言的连接

    — title: 数据库与编程语言的连接 date: 2024/12/21 updated: 2024/12/21 author: cmdragon excerpt: 数据库与编程语言的连接是实现数据驱动应用程序的核心步骤。开发者通过运用多样的编程语言和数据库驱动程序,可以在应用中执行数据库的CRUD(创建、读取、更新、删除)操作。 categories…

    未分类 2024 年 12 月 24 日
    57500
  • Python 潮流周刊#80:Django 项目性能调优(摘要)

    由 Python猫 精心策划,本周刊汇集了全球精选的 250+ 资讯,为你呈现最有价值的文章、教程、开源项目、软件工具、音视频内容以及热门话题。我们的目标是助力每一位读者提升 Python 技能,并在职业和副业中实现收入增长。 本期精选了 12 篇精选文章,12 个开源项目,以及 3 个音视频资源,总字数约 2100 字。 以下是本期内容概览: **[🦄 文…

    未分类 2024 年 12 月 24 日
    62300
  • A5433 Java+Jsp+Servlet+MySQL+微信小程序+LW+在线点餐小程序的设计与实现 源码 配置 文档

    在线点餐小程序的设计与实现 1.摘要 2.开发目的和意义 2.1 系统开发目的 2.2 系统开发意义 3.系统功能设计 4.系统界面截图 5.源码获取 1.摘要 摘 要近几年,人们生活水平日益提升,但工作强度和压力不断增强,尤其是对于上班族而言,到餐厅吃饭费时费力,而传统的APP点餐难以适应针对性,基于此,借助Web开发技术以及后台数据库,设计了在线点餐小程…

    2025 年 1 月 11 日
    55900

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信