IDEA+Java控制台实现学生信息管理系统

一.系统介绍

1.开发环境

开发工具:IDEA2023.2

JDK版本:11

2.技术选型

1.面向对象编程

2.使用集合容器

3.程序流程控制

4.使用常见API

3.系统功能

1.实现用户注册

2.实现用户登录

3.实现学生信息的增删改查

二.系统展示

1.用户注册

2.用户登录

3.录入学生信息

4.删除学生信息

5.修改学生信息

6.查找学生信息

三.全部代码

1.项目结构

2.项目结构介绍

Accout--->账户类(包含账户名称,,账户密码)

Student--->学生类(包含学号,姓名,性别,班级,身份证号,联系电话,家庭住址)

StudentMain--->功能类(登录,注册,增删改查功能)

StudentTest--->测试类(测试项目)

3.代码

Accout

package com.Davis;

public class Accout {
    //账户类
    private String name;//账户名称
    private String password;//账户密码

    public void setName(String name) {
        this.name = name;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }
}

Student

package com.Davis;

public class Student {
    //学生类
    private String StudentId;//学号
    private String StudentName;//姓名
    private String StudentClass;//班级
    private String StudentIdnumber;//身份证号
    private String StudentPhonecode;//联系电话
    private String StudentAddress;//家庭住址
    private char Studentsex;//性别

    public char getStudentsex() {
        return Studentsex;
    }

    public void setStudentsex(char studentsex) {
        Studentsex = studentsex;
    }

    public void setStudentId(String studentId) {
        StudentId = studentId;
    }

    public void setStudentName(String studentName) {
        StudentName = studentName;
    }

    public void setStudentClass(String studentClass) {
        StudentClass = studentClass;
    }

    public void setStudentIdnumber(String studentIdnumber) {
        StudentIdnumber = studentIdnumber;
    }

    public void setStudentPhonecode(String studentPhonecode) {
        StudentPhonecode = studentPhonecode;
    }

    public void setStudentAddress(String studentAddress) {
        StudentAddress = studentAddress;
    }

    public String getStudentId() {
        return StudentId;
    }

    public String getStudentName() {
        return StudentName;
    }

    public String getStudentClass() {
        return StudentClass;
    }

    public String getStudentIdnumber() {
        return StudentIdnumber;
    }

    public String getStudentPhonecode() {
        return StudentPhonecode;
    }

    public String getStudentAddress() {
        return StudentAddress;
    }
}

StudentMain

package com.Davis;

import com.sun.tools.jconsole.JConsolePlugin;

import javax.swing.*;
import javax.swing.text.AbstractDocument;
import java.awt.*;
import java.beans.beancontext.BeanContextServicesListener;
import java.sql.PseudoColumnUsage;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import java.util.SimpleTimeZone;
import java.util.concurrent.CancellationException;

public class StudentMain {
    private Scanner input=new Scanner(System.in);
    private ArrayList<Student> studentArrayList=new ArrayList<>();
    private ArrayList<Accout> accoutArrayList=new ArrayList<>();
    public void menu() {
        //小菜单函数
        while (true) {
            System.out.println("===学生信息系统===");
            System.out.println("1、登录系统");
            System.out.println("2、注册账户");
            System.out.println("0、退出系统");
            int command=input.nextInt();
            switch (command) {
                case 1:
                    //登录系统
                    landing();
                    break;
                case 2:
                    //注册账户
                    registration();
                    break;
                case 0:
                    //退出系统
                    returnStudent();
                    return;
                default:
                    System.out.println("没有该操作~~请重新选择:");
            }
        }
    }
    private void landing() {
        //登录函数
        if (accoutArrayList.size()==0){
            System.out.println("目前本系统没用账户,请您注册!");
            return;
        }
        System.out.println("===欢迎您进入学生信息系统登录页面===");
        while (true) {
            System.out.println("请您输入账号:");
            String name=input.next();
            int sum=-1;
            for(int i=0;i<accoutArrayList.size();i++) {
                if(accoutArrayList.get(i).getName().equals(name)) {
                    sum=i;
                    break;
                }
            }
            if(sum==-1) {
                System.out.println("该账户不存在!,请你重新输入账户");
            } else {
                break;
            }
        }
        while (true) {
            int sum=-1;
            System.out.println("请您输入密码:");
            String password=input.next();
            System.out.println("请您输入确认密码:");
            String okpassword=input.next();
            if(password.equals(okpassword)) {
                for(int i=0;i<accoutArrayList.size();i++) {
                    if(accoutArrayList.get(i).getPassword().equals(password)) {
                        sum=i;
                        break;
                    }
                }
                if(sum!=-1){
                    menuMain();
                } else {
                    System.out.println("您输入的密码错误,请重新登录!");
                    break;
                }
            } else {
                System.out.println("两次输入密码不一致,请您重新输入!");
            }
        }
    }
    private int captcha() {
        //生成验证码函数
        Random random=new Random();
        int number=random.nextInt(100000)+9999;
        return number;
    }
    private void registration(){
        //注册函数
        Accout accout=new Accout();

        System.out.println("===欢迎您进入学生信息系统注册页面===");
        while (true) {
            int sum=-1;
            System.out.println("请您输入账号:");
            String name=input.next();
            for (int i = 0; i < accoutArrayList.size(); i++) {
                if(accoutArrayList.get(i).getName().equals(name)){
                    sum=i;
                    break;
                }
            }
            if(sum==-1) {
                accout.setName(name);
                break;
            } else {
                System.out.println("该账户已经存在,请重新输入!");
            }
        }
        while (true) {
            System.out.println("请您输入密码:");
            String password=input.next();
            System.out.println("请您输入确认密码:");
            String okpassword=input.next();
            if(password.equals(okpassword)) {
                accout.setPassword(password);
                break;
            } else {
                System.out.println("两次输入密码不一致,请您重新输入!");
            }
        }
        while (true) {
            int number=captcha();
            System.out.println("验证码---->"+number);
            System.out.println("请输入验证码:");
            int count=input.nextInt();
            if(count==number) {
                System.out.println("恭喜您,通过验证!");
                accoutArrayList.add(accout);
                System.out.println("注册成功!");
                break;
            } else {
                System.out.println("验证码错误!请重新输入验证码:");
            }
        }
    }
    private void returnStudent() {
        System.out.println("程序正在退出.........");
    }
    private void menuMain() {
        //菜单函数
        while (true) {
            System.out.println("===欢迎您进入学生信息系统主页面===");
            System.out.println("1、录入学生信息");
            System.out.println("2、删除学生信息");
            System.out.println("3、修改学生信息");
            System.out.println("4、查找学生信息");
            System.out.println("0、退出主页面");
            System.out.println("请选择您的操作: ");
            int command=input.nextInt();
            switch (command) {
                case 1:
                    //录入学生信息
                    InsertStudent();
                    break;
                case 2:
                    DeleteStudent();
                    //删除学生信息
                    break;
                case 3:
                    UpdateStudent();
                    //修改学生信息
                    break;
                case 4:
                    //查找学生信息
                    SelectStudent();
                    break;
                case 0:
                    //退出主页面
                    menu();
                    break;
                default:
                    System.out.println("没有该操作~~请重新选择:");
            }
        }
    }

    private char studentSex(String studentIdnumber) {
        int count = 0;//判断性别位数的值
        if(studentIdnumber.length() == 18){
            //如果身份证号18位,取身份证号倒数第二位
            char c = studentIdnumber.charAt(studentIdnumber.length() - 2);
            count = Integer.parseInt(String.valueOf(c));
        }else{
            //如果身份证号15位,取身份证号最后一位
            char c = studentIdnumber.charAt(studentIdnumber.length() - 1);
            count = Integer.parseInt(String.valueOf(c));
        }
        if(count % 2 == 1){
            return '男';
        }else{
            return '女';
        }
    }
    private void InsertStudent() {
        //录入学生信息函数
        Student student=new Student();
        System.out.println("===欢迎您进入学生信息录入页面===");
        System.out.println("请输入学生的学号:");
        String studentId=input.next();
        student.setStudentId(studentId);
        System.out.println("请输入学生的姓名:");
        String studentName=input.next();
        student.setStudentName(studentName);
        System.out.println("请输入学生的班级:");
        String studentClass=input.next();
        student.setStudentClass(studentClass);
        char studentSex;
        while (true) {
            System.out.println("请输入学生的身份证号:");
            String studentIdnumber=input.next();
            if(studentIdnumber.length()==15||studentIdnumber.length()==18) {
                student.setStudentIdnumber(studentIdnumber);
                studentSex=studentSex(studentIdnumber);
                break;
            } else {
                System.out.println("身份证由15或者18位组成");
            }
        }
        while (true) {
            System.out.println("请输入学生的联系电话:");
            String studentPhonecode=input.next();
            if(studentPhonecode.length()==11) {
                student.setStudentPhonecode(studentPhonecode);
                break;
            } else {
                System.out.println("电话号码长度不正确,请重新输入");
            }
        }
        System.out.println("请输入学生的家庭住址:");
        String studentAddress=input.next();
        student.setStudentAddress(studentAddress);
        student.setStudentsex(studentSex);
        studentArrayList.add(student);
        System.out.println("录入学生信息成功!");
    }
    private void DeleteStudent() {
        //删除学生信息函数
        if (studentArrayList.size() == 0) {
            System.out.println("当前系统中没有学生信息,请您录入学生信息!");
            menuMain();
        }
        System.out.println("请输入需要删除学生的学号:");
        String id = input.next();
        for (int i = 0; i < studentArrayList.size(); i++) {
            if (studentArrayList.get(i).getStudentId().equals(id)) {
                System.out.println("以下是学号为" + studentArrayList.get(i).getStudentId() + "的学生信息");
                System.out.println("学号\t\t\t" + studentArrayList.get(i).getStudentId() + "姓名\t\t\t" + studentArrayList.get(i).getStudentName());
                System.out.println("性别\t\t\t" + studentArrayList.get(i).getStudentsex() + "班级\t\t\t" + studentArrayList.get(i).getStudentClass());
                System.out.println("身份证号\t\t" + studentArrayList.get(i).getStudentIdnumber() + "联系电话\t\t" + studentArrayList.get(i).getStudentPhonecode());
                System.out.println("家庭住址\t\t" + studentArrayList.get(i).getStudentAddress());
                System.out.println("是否删除  y/n");
                Student student=studentArrayList.get(i);
                char count=input.next().charAt(0);
                if(count=='y') {
                    studentArrayList.remove(student);
                    System.out.println("恭喜您,删除成功!");
                } else {
                    menuMain();
                }
            } else {
                System.out.println("未找到学号为" + studentArrayList.get(i).getStudentId() + "的学生的信息");
            }
        }
    }
    private void UpdateStudent() {
        //修改学生信息函数
        if(studentArrayList.size()==0) {
            System.out.println("当前系统中没有学生信息,请您录入学生信息!");
            menuMain();
        }
        System.out.println("请输入需要修改学生的学号:");
        String id = input.next();
        for (int i = 0; i < studentArrayList.size(); i++) {
            if (studentArrayList.get(i).getStudentId().equals(id)) {
                System.out.println("以下是学号为" + studentArrayList.get(i).getStudentId() + "的学生信息");
                System.out.println("学号\t\t\t" + studentArrayList.get(i).getStudentId() + "姓名\t\t\t" + studentArrayList.get(i).getStudentName());
                System.out.println("性别\t\t\t" + studentArrayList.get(i).getStudentsex() + "班级\t\t\t" + studentArrayList.get(i).getStudentClass());
                System.out.println("身份证号\t\t" + studentArrayList.get(i).getStudentIdnumber() + "联系电话\t\t" + studentArrayList.get(i).getStudentPhonecode());
                System.out.println("家庭住址\t\t" + studentArrayList.get(i).getStudentAddress());
                Student student=studentArrayList.get(i);
                while (true) {
                    boolean count=true;
                    System.out.println("学号:");
                    String stuId=input.next();
                    for (Student student1 : studentArrayList) {
                        if(student1.getStudentId().equals(stuId)) {
                            count=false;
                            break;
                        }
                    }
                    if(count) {
                        student.setStudentId(stuId);
                        break;
                    } else {
                        System.out.println("该学号已经存在,请重新输入!");
                    }
                }
                System.out.println("姓名:");
                String stuName=input.next();
                student.setStudentName(stuName);
                while (true) {
                    System.out.println("性别:");
                    char stuSex=input.next().charAt(0);
                    if(stuSex=='男'||stuSex=='女') {
                        student.setStudentsex(stuSex);
                        break;
                    } else {
                        System.out.println("性别只能是男或女,请重新输入!");
                    }
                }
                System.out.println("班级:");
                String stuClass=input.next();
                student.setStudentClass(stuClass);
                while (true) {
                    System.out.println("联系电话:");
                    String stuPhonecode=input.next();
                    if(stuPhonecode.length()==11){
                        student.setStudentPhonecode(stuPhonecode);
                        break;
                    } else {
                        System.out.println("电话号码长度不正确,请重新输入");
                    }
                }
                System.out.println("家庭住址:");
                String stuArrdess=input.next();
                student.setStudentAddress(stuArrdess);
            } else {
                System.out.println("未找到学号为" + studentArrayList.get(i).getStudentId() + "的学生的信息");
            }
        }
    }
    private void SelectStudent() {
        //查询学生信息函数
        if(studentArrayList.size()==0) {
            System.out.println("当前系统中没有学生信息,请您录入学生信息!");
            menuMain();
        }
        while (true) {
            System.out.println("===欢迎您进入学生信息查询页面===");
            System.out.println("1.根据学号查询");
            System.out.println("2.根据身份证号查询");
            System.out.println("0.退出查询页面");
            int count=input.nextInt();
            switch (count) {
                case 1:
                    //根据学号查询
                    aVoid();
                    break;
                case 2:
                    //根据身份证号查询
                    aVoidnumber();
                    break;
                case 0:
                    //退出查询页面
                    menuMain();
                    break;
                default:
                    System.out.println("没有该操作~~请重新选择:");
            }
        }
    }
    private void aVoid(){
        System.out.println("请输入查询学生的学号:");
        String id=input.next();
        for (Student student : studentArrayList) {
            if(student.getStudentId().equals(id)) {
                System.out.println("以下是学号为"+student.getStudentId()+"的学生信息");
                System.out.println("学号\t\t"+student.getStudentId()+"\t姓名\t"+student.getStudentName());
                System.out.println("性别\t\t"+student.getStudentsex()+"\t班级\t"+student.getStudentClass());
                System.out.println("身份证号\t\t"+student.getStudentIdnumber()+"\t联系电话\t"+student.getStudentPhonecode());
                System.out.println("家庭住址\t\t"+student.getStudentAddress());
            } else{
                System.out.println("未找到学号为"+student.getStudentId()+"的学生的信息");
            }
        }
    }
    private void aVoidnumber() {
        System.out.println("请输入查询学生的身份证号:");
        String idnumber=input.next();
        for (Student student : studentArrayList) {
            if(student.getStudentIdnumber().equals(idnumber)) {
                System.out.println("以下是身份证号为"+student.getStudentIdnumber()+"的学生信息");
                System.out.println("学号\t\t"+student.getStudentId()+"\t姓名\t"+student.getStudentName());
                System.out.println("性别\t\t"+student.getStudentsex()+"\t班级\t"+student.getStudentClass());
                System.out.println("身份证号\t\t"+student.getStudentIdnumber()+"\t联系电话\t"+student.getStudentPhonecode());
                System.out.println("家庭住址\t\t"+student.getStudentAddress());
            } else{
                System.out.println("未找到身份证号为"+student.getStudentIdnumber()+"的学生的信息");
            }
        }
    }
}

StudentTest

package com.Davis;

import javax.swing.text.Style;

public class StudentTest {
    //测试类
    public static void main(String[] args){
            StudentMain student=new StudentMain();
            student.menu();
    }
}

4.其他

1.运行项目

ctrl+c  AND ctrl+v ,即可运行

2.备注

如有侵权请联系我删除

5.纯小白,望指点

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
宠物管理系统是一个可以方便地管理宠物信息系统。使用Java控制台实现这个系统可以通过以下步骤实现: 1. 创建宠物类:首先我们需要创建一个宠物类,包含宠物的属性和方法。属性可以包括宠物的名称、年龄、品种等信息。方法可以包括获取和设置宠物信息的方法,以及其他可能的行为方法。 2. 创建宠物管理类:创建一个宠物管理类,用来管理多个宠物对象。这个类可以包含一个宠物对象的列表,可以添加、删除和查找宠物对象。还可以实现其他宠物管理相关的功能,比如显示所有宠物信息等。 3. 创建控制台界面:使用Java控制台可以通过文本界面与用户交互。创建一个控制台界面,用户可以输入指令来执行不同的操作,比如添加宠物、删除宠物、显示宠物信息等。 4. 实现用户输入功能:通过Java控制台的输入流,可以获取用户输入的指令和参数。根据用户输入的指令,调用宠物管理类的不同方法来实现对宠物信息管理。 5. 实现控制台输出功能:通过Java控制台的输出流,可以将结果输出到控制台上。比如显示宠物信息时,可以将宠物的名称、年龄、品种等信息输出到控制台上。 通过以上步骤,我们就可以用Java控制台实现一个宠物管理系统。用户可以通过输入指令来添加、删除、查找和显示宠物信息系统会根据用户的操作进行相应的处理,并将结果输出到控制台上。这样,用户就可以方便地管理自己的宠物信息了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值