一.系统介绍
1.开发环境
开发工具:IDEA2023.2
JDK版本:11
2.技术选型
1.面向对象编程
2.使用集合容器
3.程序流程控制
4.使用常见API
3.系统功能
1.实现用户注册
2.实现用户登录
3.实现学生信息的增删改查
二.系统展示
1.用户注册
2.用户登录
3.录入学生信息
4.删除学生信息
5.修改学生信息
6.查找学生信息![](https://i-blog.csdnimg.cn/direct/66591210a6a84bddb504cf28f1556c91.png)
三.全部代码
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.备注
如有侵权请联系我删除