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日

相关文章

  • Angular.Js中ng-include指令的使用与实现

    Angular.js中ng-include指令的使用与实现 ng-include是Angular.js提供的一个指令,用于在页面中引入外部HTML文件。 使用方法 我们可以在需要引用的地方,使用ng-include指令,如下所示: <div ng-include="’path/to/your/template.html’">&…

    Java 2023年6月15日
    00
  • JAVA基础之控制台输入输出的实例代码

    JAVA基础之控制台输入输出的实例代码 本文将介绍JAVA语言中,如何利用控制台进行输入输出操作。首先需要理解Java标准I/O流的概念,Java的I/O流分为两种:字节流和字符流。字节流以字节为单位进行操作,字符流以字符为单位进行操作。在控制台输入输出中,一般使用字符流,使用InputStreamReader和OutputStreamWriter将字节流转…

    Java 2023年5月30日
    00
  • java:程序包org.apache.ibatis.annotations不存在报错解决

    如果在使用MyBatis时出现“java:程序包org.apache.ibatis.annotations不存在”的报错,原因可能是缺乏MyBatis-annotations的依赖或版本不匹配。为了解决这个问题,可以按照以下步骤进行操作: 步骤一、添加MyBatis-annotations依赖 打开项目的pom.xml文件,查看是否添加了MyBatis-an…

    Java 2023年5月19日
    00
  • java创建一个类实现读取一个文件中的每一行显示出来

    下面是详细的攻略: 创建一个Java类 首先,要在Java中创建一个类来实现读取文件中每一行并显示出来。在这个类中,我们需要使用Java的文件读取API以及循环来逐行读取文件中的内容并将其显示出来。 public class FileReadExample { public static void main(String[] args) { try { //…

    Java 2023年5月19日
    00
  • Spring Data JPA的Audit功能审计数据库的变更

    下面我来详细讲解Spring Data JPA的Audit功能审计数据库的变更的完整攻略。 什么是Spring Data JPA的Audit功能 Spring Data JPA的Audit功能是指将数据的变更操作记录下来,包括数据的新增、删除、修改等操作。通过Audit功能,我们可以了解数据的变更历史,并且可以追溯数据的操作者、操作时间等信息。 如何使用Sp…

    Java 2023年5月20日
    00
  • Java常用工具类总结

    Java常用工具类总结 Java的工具类是提供各种工具方法以简化开发的一类类的类集合。这些类通常是一些静态方法的集合,用于完成一些常见的、通用的、与具体业务无关的操作。我们可以在自己的项目开发中借鉴这些工具类,从而提高我们的代码编写效率。 在这里,我们罗列几个常用的Java工具类,包括但不限于: StringUtils StringUtils是Apache …

    Java 2023年5月23日
    00
  • 12种最常用的网页编程语言简介(值得收藏)

    首先,我们需要了解网页编程语言的概念和作用。网页编程语言指的是网站开发者使用的语言,用于构建网站的前端和后端部分。网页编程语言可以分成前端语言和后端语言两种。前端语言用于网站的外观和用户交互,后端语言用于网站的数据处理和服务器与数据库等操作。本文将介绍12种最常用的网页编程语言,分别为HTML、CSS、JavaScript、PHP、Python、Ruby、J…

    Java 2023年6月15日
    00
  • Java利用LocalDate类实现日历设计

    Java利用LocalDate类实现日历设计 简介 Java 8引入了一个新的API——java.time包,其中包含LocalDate类。LocalDate类提供了一些强大的工具用于日历的处理和操作。在本篇文章中,我们将详细讲解如何使用LocalDate类实现日历设计。 步骤 创建LocalDate对象 在Java中,我们可以使用LocalDate类创建一…

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