一个较为完整的学生信息管理系统
大致要求如下:
1、实现登录注册功能,程序一进来如果没有账号就选择注册,如果有账号就直接登录。
2、账号就是你的电话号码,不能小于11位 只能是13 、15、18开头的。
3、密码不能小于6位 不能大于10位, 首字母必须是大写字母开头,密码不能是纯数字,必须有大写字母和小写字母和数字组成。
4、确认密码必须与设置的密码一致。
5、邮箱号码 必须进行验证 只能是 QQ 和163 邮箱
6、个人简介必须使用可变字符串进行保存设置(StringBuilder)
7、年龄、性别、成绩家庭地址、出生年月日,这些属性都是根据你输入的身份证号码自行进行生成赋值。
来看代码吧
创建一个接口类,声明一些必要方法
package com.xingyun.studentdao;
import com.xingyun.bean.StudentBean;
import com.xingyun.bean.UserBean;
public interface StudentDao {
void Menu(); //菜单
void registered(); //注册
void login(); //登录
void add(); //新增信息
void getAll(); //查询(根据ID、姓名查询、也可以查询全部)
void UpDate(); //修改(根据ID、姓名修改)
void delete(); //删除(根据ID、姓名删除)
}
创建一个账号密码的封装类,用来实现对象的创建
package com.xingyun.bean;
public class UserBean {
private String user_name; //账号
private String password; //密码
private int grade; //等级 1、老师 2、学生
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public UserBean(String user_name, String password, int grade) {
this.user_name = user_name;
this.password = password;
this.grade = grade;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public UserBean() {
}
@Override
public String toString() {
return "UserBean [user_name=" + user_name + ", password=" + password + ", grade=" + grade + "]";
}
}
创建一个学生的封装类,用来创建学生对象
package com.xingyun.bean;
import java.util.Arrays;
public class StudentBean {
private int s_id; //学号
private String name; //姓名
private int age; //年龄
private String sex; //性别
private String id_card; //身份证号
private String addres; //地址
private String Date; //出生日期
private String mailbox; //邮箱(qq邮箱和163邮箱)
private StringBuilder Personal_profile; //个人简介
//私有属性的封装
public String getMailbox() {
return mailbox;
}
public void setMailbox(String mailbox) {
this.mailbox = mailbox;
}
public int getS_id() {
return s_id;
}
public void setS_id(int s_id) {
this.s_id = s_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getId_card() {
return id_card;
}
public void setId_card(String id_card) {
this.id_card = id_card;
}
public String getAddres() {
return addres;
}
public void setAddres(String addres) {
this.addres = addres;
}
public String getDate() {
return Date;
}
public void setDate(String date) {
Date = date;
}
public StringBuilder getPersonal_profile() {
return Personal_profile;
}
public void setPersonal_profile(StringBuilder personal_profile) {
Personal_profile = personal_profile;
}
//有参构造方法
//无参构造方法
public StudentBean() {
}
public StudentBean(int s_id, String name, int age, String sex, String id_card, String addres, String date,
String mailbox, StringBuilder personal_profile) {
super();
this.s_id = s_id;
this.name = name;
this.age = age;
this.sex = sex;
this.id_card = id_card;
this.addres = addres;
this.Date = date;
this.mailbox = mailbox;
this.Personal_profile = personal_profile;
}
@Override
public String toString() {
return " 学号:" + s_id + "\t姓名:" + name + "\t 年龄:" + age + "\t性别:" + sex + "\n身份证:"
+ id_card + "\t地址:" + addres + "\n出生日期:" + Date + "\t邮箱:" + mailbox + "\n个人简介:"
+ Personal_profile ;
}
}
来一个专门调用的测试类,代码较少,放在前面这里
package com.xingyun.test;
import com.xingyun.bean.StudentBean;
import com.xingyun.bean.UserBean;
import com.xingyun.studentdaoimp.StudentDaoImp;
public class StudentTest {
public static void main(String[] args) {
StudentDaoImp sti=new StudentDaoImp();
sti.Menu();
}
}
主要方法
第一层菜单
public void Menu() {
//向上转型,来调用自身重写父类的方法
StudentDao stu = new StudentDaoImp();
boolean bool = true;
while (bool) {
System.out.println("1、注册账号");
System.out.println("2、直接登录");
System.out.println("3、退出");
System.out.println("*******************");
int exchange = input.nextInt();
switch (exchange) {
case 1:
//使用对象调用注册方法
stu.registered();
break;
case 2:
//使用对象调用登录方法
stu.login();
break;
default:
//输入其他就会结束程序运行
bool = false;
break;
}
} // 最外层while循环的
}
注册的实现
@Override