Java超详细教你写一个学籍管理系统案例

Java超详细教你写一个学籍管理系统案例攻略

本文将介绍如何用Java语言编写一个学籍管理系统,包括如何设计数据库、如何实现登录、管理学生信息等功能。

设计数据库

首先,我们需要设计数据库表格。在本案例中,我们需要设计两个表格:学生表和用户表。学生表存储学生的基本信息,如学号、姓名、性别、年龄、所在班级、联系方式等。用户表存储管理员的用户名和密码。

实际上,我们可以使用MySQL等数据库进行实现。具体的表格结构如下:

学生表格

字段名 类型 描述
id int 主键
student_id varchar(20) 学生学号
name varchar(20) 学生姓名
gender int 学生性别(男:1,女:0)
age int 学生年龄
class varchar(20) 所在班级
contact varchar(20) 联系方式

用户表格

字段名 类型 描述
id int 主键
username varchar(20) 管理员用户名
password varchar(20) 管理员密码

实现登录功能

我们首先需要实现登录功能。管理员输入用户名和密码,系统验证管理员是否存在,若存在则登录成功,否则登录失败。以下是示例代码:

import java.util.Scanner;

public class Login {

    public static void main(String[] args) {
        System.out.println("欢迎使用学籍管理系统!");

        Scanner input = new Scanner(System.in);

        System.out.print("请输入用户名:");
        String username = input.next();

        System.out.print("请输入密码:");
        String password = input.next();

        if (username.equals("admin") && password.equals("123456")) {
            System.out.println("登录成功!");
        } else {
            System.out.println("用户名或密码错误,请重新输入!");
        }

        input.close();
    }

}

实现管理学生信息功能

我们还需要实现管理学生信息功能。管理员可以添加、删除、修改学生信息,也可以查看全部学生信息。以下是示例代码:

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

public class StudentManager {

    private static ArrayList<Student> students = new ArrayList<>();

    public static void main(String[] args) {
        System.out.println("欢迎使用学籍管理系统!");

        Scanner input = new Scanner(System.in);

        while (true) {
            System.out.println("");
            System.out.println("请选择要进行的操作:");
            System.out.println("1、添加学生信息");
            System.out.println("2、删除学生信息");
            System.out.println("3、修改学生信息");
            System.out.println("4、查看全部学生信息");
            System.out.println("5、退出系统");

            int choice = input.nextInt();

            switch (choice) {
                case 1:
                    System.out.print("请输入学生学号:");
                    String id = input.next();

                    System.out.print("请输入学生姓名:");
                    String name = input.next();

                    System.out.print("请输入学生性别(男:1,女:0):");
                    int gender = input.nextInt();

                    System.out.print("请输入学生年龄:");
                    int age = input.nextInt();

                    System.out.print("请输入学生班级:");
                    String sClass = input.next();

                    System.out.print("请输入学生联系方式:");
                    String contact = input.next();

                    Student student = new Student(id, name, gender, age, sClass, contact);
                    students.add(student);

                    System.out.println("添加学生信息成功!");
                    break;
                case 2:
                    System.out.print("请输入学生学号:");
                    String sId = input.next();

                    for (int i = 0; i < students.size(); i++) {
                        Student s = students.get(i);

                        if (s.getId().equals(sId)) {
                            students.remove(i);
                            System.out.println("删除学生信息成功!");
                            break;
                        }
                    }
                    break;
                case 3:
                    System.out.print("请输入学生学号:");
                    String mId = input.next();

                    for (int i = 0; i < students.size(); i++) {
                        Student s = students.get(i);

                        if (s.getId().equals(mId)) {
                            System.out.print("请输入修改后的学生姓名:");
                            String mName = input.next();

                            System.out.print("请输入修改后的学生性别(男:1,女:0):");
                            int mGender = input.nextInt();

                            System.out.print("请输入修改后的学生年龄:");
                            int mAge = input.nextInt();

                            System.out.print("请输入修改后的学生班级:");
                            String mClass = input.next();

                            System.out.print("请输入修改后的学生联系方式:");
                            String mContact = input.next();

                            s.setName(mName);
                            s.setGender(mGender);
                            s.setAge(mAge);
                            s.setsClass(mClass);
                            s.setContact(mContact);

                            System.out.println("修改学生信息成功!");
                            break;
                        }
                    }
                    break;
                case 4:
                    System.out.println("学生学号\t学生姓名\t学生性别\t学生年龄\t所在班级\t联系方式");

                    for (Student s : students) {
                        System.out.println(s.getId() + "\t\t" + s.getName() + "\t\t" + s.getGender() + "\t\t" + s.getAge() + "\t\t" + s.getsClass() + "\t\t" + s.getContact());
                    }
                    break;
                case 5:
                    System.out.println("感谢使用学籍管理系统!");
                    input.close();
                    System.exit(0);
                default:
                    System.out.println("输入的选项不正确,请重新输入!");
                    break;
            }
        }
    }

}

以上就是Java编写学籍管理系统的完整攻略。我们可以综合运用Java语言的知识,实现类似的简单管理系统。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java超详细教你写一个学籍管理系统案例 - Python技术站

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

相关文章

  • Java实现一致性Hash算法详情

    Java实现一致性Hash算法 什么是一致性哈希算法? 一致性哈希算法是一种分布式哈希算法,常用于分布式缓存、分布式数据库等场景,主要解决如何有效地将请求路由到不同的服务器,从而提高系统性能。 一致性哈希算法的原理 一致性哈希算法将每个资源映射到一个二维环上,即将环划分为若干个虚拟节点。当有新的数据需要放入缓存中时,首先将该数据哈希成一个数字,然后将该数字映…

    Java 2023年5月19日
    00
  • Linux小技巧分享之如何重新启动tomcat

    接下来我将详细讲解关于“Linux小技巧分享之如何重新启动tomcat”的完整攻略。 什么是Tomcat? Tomcat是一个广泛使用的开源Web服务器,具备Servlet和JSP规范,由Apache基金会维护。 为什么需要重新启动Tomcat? 当我们修改了Tomcat中的配置文件或者部署了新的代码后,我们需要重新启动Tomcat才能使这些变更生效。 如何…

    Java 2023年6月2日
    00
  • jstl标签基础开发步骤(详解)

    jstl是JavaServer Pages标准标记库的缩写,这是一组XML标记,可用于简化JSP页面开发。jstl是一种常用的简化JSP开发的工具,提供了一些标签和函数库,可以方便地对各种数据类型进行处理,并且具有高度的可重用性。 下面是“jstl标签基础开发步骤(详解)”的完整攻略: 步骤一:导入JSTL库 要使用jstl标签库,必须首先把相应的库文件(.…

    Java 2023年6月15日
    00
  • Spring Boot 整合持久层之JdbcTemplate

    下面是详细讲解“Spring Boot 整合持久层之JdbcTemplate”的完整攻略。 一、JdbcTemplate简介 JdbcTemplate 是 Spring 框架提供的用于简化 JDBC 开发的模板类,可以大大减少 JDBC 代码的冗余,提高开发效率。它提供了一系列的简化数据库操作的方法,如查询(query)、更新(update)、批处理(bat…

    Java 2023年6月2日
    00
  • 详解Springboot之Logback的使用学习

    详解Springboot之Logback的使用学习 什么是Logback Logback是一种开源的日志记录框架,是log4j框架的继任者。Springboot使用Logback作为默认的日志记录框架。Logback由3个模块构成,分别为logback-core、logback-classic和logback-access。其中,logback-core是其…

    Java 2023年5月19日
    00
  • JDBC中resutset接口操作实例详解

    JDBC中ResultSet接口操作实例详解 一、ResultSet简介 ResultSet接口是Java程序中访问数据库返回的数据的一个接口,通过该接口我们可以对返回的数据进行操作。该接口在JDBC规范中属于处理查询结果的API,我们可以通过该接口获取到查询结果集中所有的行信息并且可以从结果集中获取指定行列的数据。 下面我们将通过示例讲解ResultSet…

    Java 2023年6月16日
    00
  • UniApp开发H5接入微信登录的全过程

    UniApp是一个基于Vue.js的跨平台开发框架,可以使用一份代码,在多个平台上运行,包括H5。微信登录是一种比较常见的第三方登录方式,很多应用都会集成,下面详细讲解一下使用UniApp开发H5接入微信登录的全过程。 1. 注册开发者账号 首先,需要在微信开放平台注册开发者账号,然后创建一个应用,获取到应用的AppID和AppSecret。 2. 配置应用…

    Java 2023年5月23日
    00
  • Java实现指定目录下的文件查找详解

    下面开始讲解“Java实现指定目录下的文件查找详解”的攻略。 1. 需求背景 很多时候,我们需要查找指定目录下的某个或某些文件,这时候我们可以借助Java提供的API来实现。本文主要讲解Java如何实现指定目录下的文件查找。 2. 实现步骤 具体实现步骤如下: 2.1. 获取目录下所有的文件和子目录 我们可以使用Java提供的File类的listFiles(…

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