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日

相关文章

  • Spring下Filter过滤器配置全局异常处理的详细步骤

    首先让我们来了解一下Filter和全局异常处理的概念: Filter是Web应用中的过滤器,用于对请求进行过滤和处理,可以在处理请求之前和之后进行一些额外的处理或者过滤,同时也可优化代码性能、保护系统安全、统一处理日志等。 全局异常处理是指处理在应用程序中未被捕获的所有异常,避免应用程序因为未捕获异常而崩溃或者无法继续正常工作。 因此,我们可以结合Filte…

    Java 2023年5月27日
    00
  • Java pdu短信解码全面解析

    Java pdu短信解码全面解析 短信协议数据单元(PDU)简介 短信协议数据单元(Protocol Data Unit,PDU)是一种短消息传送协议,它将SMS消息内容进行编码和封装,以方便在移动电话网络上进行传输和接收。在Java中,我们可以使用PDU来解码和编码短信。 短信编码 短信可由两部分组成:短信消息中心号码(SMSC Address)和短信内容…

    Java 2023年5月20日
    00
  • Java中Builder模式的实现详解

    Java中Builder模式的实现详解 什么是Builder模式 Builder模式是一种创建型设计模式,它可以让你分步骤地创建复杂对象。与工厂模式不同,Builder模式并不是通过单一的方法来创建对象,而是通过多个方法来设置不同的属性,最终创建出一个想要的对象实例。 Builder模式的优点 Builder模式相对于其他创建对象的方式,有如下的优点: 代码…

    Java 2023年5月26日
    00
  • java的Hibernate框架报错“StaleObjectStateException”的原因和解决方法

    当使用Java的Hibernate框架时,可能会遇到“StaleObjectStateException”错误。这个错误通常是由于以下原因之一引起的: 数据库中的数据已被修改:如果您的数据已被修改,则可能会出现此错误。在这种情况下,需要检查您的数据以解决此问题。 并发访问:如果多个用户同时访问同一数据,则可能会出现此错误。在这种情况下,需要使用乐观锁或悲观锁…

    Java 2023年5月4日
    00
  • java去除中文括号小括号,或者英文括号的实例代码

    这里提供两个示例说明: 示例1:去除中文括号和小括号 public static String removeBrackets(String text) { if (text == null) return null; // 中文括号 text = text.replaceAll("[()()]", ""); retur…

    Java 2023年5月26日
    00
  • Java Spring详解如何配置数据源注解开发以及整合Junit

    1. Java Spring配置数据源 在Java Spring中配置数据源可以使用两种方式: 使用XML配置文件 使用Java注解 这里我们介绍使用Java注解的方式。首先需要在pom.xml文件中添加以下依赖: <dependencies> <dependency> <groupId>org.springframewo…

    Java 2023年5月20日
    00
  • Maven实现项目构建工具

    Maven是一种基于Java平台的项目管理和构建工具,它可以帮助开发者更加高效,简单地构建、创建和维护项目。在Maven中,你可以定义项目所需的所有依赖关系,指定构建过程中的特定步骤,配置环境变量和创建部署包等。下面是Maven实现项目构建工具的详细攻略。 安装Maven 首先,你需要安装Maven,可以从官方网站 https://maven.apache.…

    Java 2023年5月20日
    00
  • java易懂易用的MD5加密(可直接运行) (1)第2/2页

    下面是本文的完整攻略,包括概述、使用方法、代码解析和示例等: 概述 本文是介绍如何使用Java实现MD5加密的文章,所实现的MD5算法具有以下特点: 易懂易用:算法基于JDK自带的MessageDigest类,并使用了一些最新的Java 8语法来简化代码,保证了代码的易懂易用性。 可直接运行:作者提供了一份完整可运行的代码,用户只需复制该代码到Java项目中…

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