首先创建student的标准javabean
package studentsystem;
public class student {
private String id;
private String name;
private int age;
private String address;
public student(){
}
public student(String id,String name,int age,String address){
this.id=id;
this.name=name;
this.age=age;
this.address=address;
}
public void setId(String id){
this.id=id;
}
public String getId(){return id;}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void setAddress(String address){
this.address=address;
}
public String getAddress(){
return address;
}
}
然后对学生管理系统界面进行编写
菜单
ArrayList<student> list =new ArrayList<student>();
do{
System.out.println("************ 欢迎来到学生管理系统 ****************");
System.out.println("***1.添加学生信息 2.删除学生信息****");
System.out.println("***3.修改学生信息 4.查询学生信息****");
System.out.println("*************** 5.退出系统 ********************");
System.out.println("请输入你的选择");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
switch (choose){
case "1":
addstudent(list);
break;
case "2":
deletestudent(list);
break;
case "3":
updatestudent(list);
break;
case "4":
querystudent(list);
break;
case "5":
System.out.println("退出");
System.exit(0);
default:
System.out.println("没有该选项");
}
}while (true);
对学生系统进行增删查改
public static void addstudent(ArrayList<student> list){
System.out.println("请输入要添加的人数");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for(int i=0;i<num;i++) {
student s= new student();
String id= null;
while (true) {
System.out.println("请输入学生的id");
id = sc.next();
int index = getIndex(list,id);
boolean flog = contains(index);
if (flog) {
s.setId(id);
break;
}else{
System.out.println("输入的id不唯一,请重新输入");
}
}
System.out.println("请输入学生的name");
String name = sc.next();
s.setName(name);
System.out.println("请输入学生的age");
int age = sc.nextInt();
s.setAge(age);
System.out.println("请输入学生的address");
String address = sc.next();
s.setAddress(address);
list.add(s);
}
System.out.println("学生信息添加成功");
}
public static void deletestudent(ArrayList<student> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的id");
String id = sc.next();
int index = getIndex(list,id);
if(index >= 0){
student stu = list.get(index);
String name = stu.getName();
list.remove(index);
System.out.println("删除"+name+"学生成功");
}
}
public static void updatestudent(ArrayList<student> list) {
Scanner sc = new Scanner(System.in);
if(list.size()==0){
System.out.println("当前无学生信息,请添加后再查询");
}else{
int index;
while (true) {
System.out.println("请输入要修改学生的id");
String id = sc.next();
index = getIndex(list, id);
if (index < 0) {
System.out.println("要修改学生的id" + id + "不存在");
} else {
break;
}
}
student s = list.get(index);
System.out.println("请输入要修改学生的name");
String newname = sc.next();
s.setName(newname);
System.out.println("请输入要修改学生的age");
int newage = sc.nextInt();
s.setAge(newage);
System.out.println("请输入要修改学生的address");
String newaddress = sc.next();
s.setAddress(newaddress);
System.out.println("学生的信息修改成功");
}
}
public static void querystudent(ArrayList<student> list){
if(list.size()==0){
System.out.println("当前无学生信息,请添加后再修改");
}
System.out.println("id\t\t姓名\t年龄\t家庭住址");
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress()+"\t");
}
}
public static Boolean contains(int index){
if(index>0){
return false;
}else{
return true;
}
}
public static int getIndex(ArrayList<student> list,String id){
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
if(stu.getId().equals(id)){
return i;
}
}
return -1;
}
}
再创建标准的user的javabean类
package studentsystem;
public class user {
private String name;
private String password;
private String idnumber;
private String mobnumber;
public user(String name, String password, String idnumber, String mobnumber) {
this.name = name;
this.password = password;
this.idnumber = idnumber;
this.mobnumber = mobnumber;
}
public user(){
}
public void setIdnumber(String idnumber){
this.idnumber=idnumber;
}
public String getIdnumber(){return idnumber;}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public String getMobnumber() {
return mobnumber;
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
public void setMobnumber(String mobnumber) {
this.mobnumber = mobnumber;
}
}
登陆界面的菜单
ArrayList <user> list= new ArrayList<user>();
do{
System.out.println("************ 欢迎来到学生管理系统 ****************");
System.out.println("*** 1.登陆 ***");
System.out.println("*** 2.注册 ***");
System.out.println("*** 3.忘记密码 ***");
System.out.println("*** 4.退出 ***");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
switch (choose){
case "1":
loginapp(list);
break;
case "2":
registernapp(list);
break;
case "3":
forgottenpassword(list);
break;
case "4":
System.out.println("退出");
System.exit(0);
break;
default:
System.out.println("没有该选项");
}
}while (true);
对于登陆界面的实现
public static void loginapp(ArrayList <user> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String name = sc.next();
int inedex = getIndex(list,name);
boolean flog = contains(inedex);
if(flog){
System.out.println("当前用户未注册");
}else{
System.out.println("该用户存在");
System.out.println("请输入身份证号码");
String idnumber = sc.next();
System.out.println("请输入手机号码");
String mobnumber = sc.next();
boolean flag = checkinformation(list,inedex,idnumber,mobnumber);
if(flag){
System.out.println("请输入密码");
String passward = sc.next();
boolean ch = checkpassword(list,inedex,passward);
if(ch){
System.out.println("登陆成功");
System.out.println("请输入验证码");
String code ;
code = generatecode();
System.out.println("验证码为"+code);
String recode = sc.next();
if(code.equalsIgnoreCase(recode)){
System.out.println("验证码输入正确");
studentSystem ss =new studentSystem();
ss.studentsystem();
}else{
System.out.println("验证码输入错误");
}
}else{
System.out.println("密码错误");}
}else{
System.out.println("你输入的身份证或手机号有问题");}
}
}
public static void registernapp(ArrayList <user> list){
Scanner sc = new Scanner(System.in);
user use=new user();
String name = null;
while(true){
System.out.println("请输入要注册的name");
name = sc.next();
int index = getIndex(list,name);
boolean flog = contains(index);
if(flog){
boolean flag = checkUsername(name);
if(flag){
use.setName(name);
break;}
}else{
System.out.println("你的用户名已被用请重新输入");
}
}
while(true) {
System.out.println("请输入你的密码");
String password1 = sc.next();
System.out.println("请确认的你的密码");
String password2 = sc.next();
boolean b = comparePasswords(password1, password2);
if (b) {
use.setPassword(password1);
break;}
}
while (true) {
System.out.println("请输入你的身份证号码");
String idnumber = sc.next();
boolean c = checkidnumber(idnumber);
if(c){
use.setIdnumber(idnumber);
break;}
}
while (true) {
System.out.println("请输入你的手机号码");
String mobnumber = sc.next();
boolean d= checkmobnumber(mobnumber);
if(d){
use.setMobnumber(mobnumber);
break;}
}
list.add(use);
}
public static void forgottenpassword(ArrayList <user> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String name = sc.next();
int inedex = getIndex(list,name);
boolean flog = contains(inedex);
if(flog){
System.out.println("当前用户未注册");
}else{
System.out.println("请输入身份证号码");
String idnumber = sc.next();
System.out.println("请输入手机号码");
String mobnumber = sc.next();
boolean flag = checkinformation(list,inedex,idnumber,mobnumber);
if(flag){
System.out.println("请输入修改后的密码");
user use = list.get(inedex);
String newpassward = sc.next();
use.setPassword(newpassward);
System.out.println("修改成功");
}else{
System.out.println("身份信息不匹配修改失败");
}
}
}
public static Boolean contains(int index){
if(index>=0){
return false;
}else{
return true;
}
}
public static int getIndex(ArrayList <user> list,String name){
for (int i = 0; i < list.size(); i++) {
user use=list.get(i);
if(use.getName().equals(name)){
return i;
}
}
return -1;
}
public static boolean checkUsername(String name){
int num=name.length();
if(num<3||num>15){
System.out.println("输入的用户名在3~15位之间");
return false;
}
for (int i = 0; i < num; i++) {
char a = name.charAt(i);
if(!((a>='a'&& a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'))){
System.out.println("输入的用户名请用字符或数字组成");
return false;
}
}
int count = 0;
for (int i = 0; i < num; i++) {
char a = name.charAt(i);
if((a>='a'&&a<='z')||(a>='A'&&a<='Z')){
count++;
break;
}
}
if(count==0){
System.out.println("用户名不能全为数字组成");}
return count>0;
}
public static Boolean comparePasswords(String password1,String password2){
int num1 = password1.length();
int num2 = password2.length();
if(num1 != num2){
return false;
}
for (int i = 0; i < num1; i++) {
if(password1.charAt(i) != password2.charAt(i)){
return false;
}
}
return true;
}
public static Boolean checkidnumber(String idnumber){
int num = idnumber.length();
if(num != 18){
System.out.println("输入的身份证为18位");
return false;
}
char a = idnumber.charAt(0);
if(a == '0'){
System.out.println("首字母不能为0");
return false;
}
for (int i = 0; i < num-1; i++) {
char c =idnumber.charAt(i);
if(!(c >='0'&&c<='9')){
System.out.println("前17位只能为数字");
return false;
}
}
char b =idnumber.charAt(num-1);
if(!(b=='z'||b=='Z'||b>='0'||b<='9')){
System.out.println("身份证的最后一位只能为数字或X或x");
return false;
}
return true;
}
public static Boolean checkmobnumber(String mobnumber){
int num = mobnumber.length();
if(num != 11){
System.out.println("输入的手机号为11位");
return false;
}
char a = mobnumber.charAt(0);
if(a == '0'){
System.out.println("首位不能为0");
return false;
}
for (int i = 0; i < num-1; i++) {
char c =mobnumber.charAt(i);
if(!(c >='0'&&c<='9')){
System.out.println("前17位只能为数字");
return false;
}
}
return true;
}
public static boolean checkinformation(ArrayList <user> list,int inedex, String idnumber,String mobnumber){
user use = list.get(inedex);
String trueidnumber = idnumber;
String truemobnumber = mobnumber;
if((idnumber == trueidnumber) &&(truemobnumber == mobnumber)){
return true;
}
return false;
}
public static boolean checkpassword(ArrayList <user> list,int inedex,String password){
user use = list.get(inedex);
String truepassword = password;
if(password == truepassword){
return true;
}
return false;
}
public static String generatecode(){
Random r = new Random();
char[] s = new char[5];
char[] table = new char[52];
for(int i =0;i<26;i++){
table[i]= (char) ('a'+i);
table[i+26]= (char) ('A'+i);
}
for(int i=0;i<4;i++){
int inedex = r.nextInt(52);
s[i]=table[inedex];
}
int number = r.nextInt(10)+48;
s[4]= (char) number;
for(int i=0;i<5;i++){
int raninedex = r.nextInt(s.length);
char tmp;
tmp = s[raninedex];
s[raninedex]=s[4-raninedex];
s[4-raninedex]=tmp;
}
return new String(s);
}
}