package com.servers.impl;
import com.servers.*;
import com.entity.*;
import java.util.Arrays;
import java.util.Scanner;
public class DaoForTeacher implements Dao {
private Teacher[] teachers;
public static final int INIT_LENGTH=10;
private int count=0;
public DaoForTeacher(){
this.teachers=new Teacher[INIT_LENGTH];
}
// 检测id是否已经被使用
public boolean isIdUsed(int id) {
if (count == 0)
return false;
for (int i = 0; i < count; i++) {
if (teachers[i].getId() == id) {
System.out.println("该id已经被注册!");
return true;
}
}
return false;
}
// 注册学生
public void zhuCe() {
Scanner console = new Scanner(System.in);
int inId;
String inName;
String inSex;
int inAge;
boolean isTrue = true;
String input = "";
do {
System.out.println("请输入8位数的工号:");
input = console.nextLine();
String reg = "^\\s*\\d{8}\\s*$";
isTrue = input.matches(reg);
inId = Integer.parseInt(input.trim());
} while (!isTrue || isIdUsed(inId));
do {
System.out.println("请输入中文姓名:");
input = console.nextLine();
String reg = "^\\s*[\\u4e00-\\u9fa5]{2,10}\\s*$";
isTrue = input.matches(reg);
} while (!isTrue);
inName = input.trim();
do {
System.out.println("请输入性别‘男’或‘女’:");
input = console.nextLine();
String reg = "^\\s*[男女]\\s*$";
isTrue = input.matches(reg);
} while (!isTrue);
inSex = input.trim();
do {
System.out.println("请输入年龄:");
input = console.nextLine();
String reg = "^\\s*[1-9][0-9]*\\s*$";
isTrue = input.matches(reg);
} while (!isTrue);
inAge = Integer.parseInt(input.trim());
Teacher teacher = new Teacher(inId, inName, inSex, inAge);
if(count>=teachers.length){
teachers=Arrays.copyOf(teachers, teachers.length+10);
}
teachers[count] = teacher;
count++;
System.out.println(teacher + " 注册成功!");
}
// 登录老师
public boolean load() {
Scanner console = new Scanner(System.in);
String input;
boolean isTrue;
int inId;
String inName;
do {
System.out.println("请输入8位数的工号:");
input = console.nextLine();
String reg = "^\\s*\\d{8}\\s*$";
isTrue = input.matches(reg);
inId = Integer.parseInt(input.trim());
} while (!isTrue);
do {
System.out.println("请输入姓名:");
input = console.nextLine();
String reg = "\\s*[\\u4e00-\\u9fa5]{2,10}\\s*$";
isTrue = input.matches(reg);
} while (!isTrue);
inName = input.trim();
for (int i = 0; i < count; i++) {
if (inId == teachers[i].getId()&& inName.equals(teachers[i].getName())) {
System.out.println("教师 "+teachers[i].getName() + " 登录成功!");
return true;
}
}
System.out.println("登录失败!输入信息错误或用户不存在!");
return false;
}
public void showInfo() {
System.out.println("\t**教师信息**");
for (int i = 0; i < count; i++) {
System.out.println("\t" + teachers[i]);
}
System.out.println();
}
}
评论0