关于JavaOOP门禁系统的总结

来源:互联网 发布:黑马大数据全套视频 编辑:程序博客网 时间:2024/04/30 03:45

1.开门(开门5秒后自动关闭)

使用线程,使系统停止运行**时间

java.lang.Thread.sleep(time);  time 是以ms 为单位

注:该方法会抛出Interruption异常,使用try /catch处理这个异常

2.关于ArrayList

java.util.ArrayList<Worker> arr =d.getWorkerarr();
arr.get(i); 通过arr.get()来定位数组

3.特有方法添加雇员,删除雇员(按卡号删除)

public void addWorker(DoorSystem d)
{
java.util.ArrayList<Worker> arr =d.getWorkerarr();//从门禁系统对象获取雇员列表
java.util.Scanner scan=new java.util.Scanner(System.in);//创建控制台对象
String name;
System.out.print("请输入名字");
name=scan.next();
String card;
System.out.print("请输入卡号");
card=scan.next();
String pwd;
System.out.print("请输入密码");
pwd=scan.next();
String finger;
System.out.print("请输入指纹码");
finger=scan.next();
Worker w =new Worker(name, card, pwd, finger);//创建一个雇员对象,并赋值
arr.add(w);//将雇员添加到雇员列表
}

 //删除的关键点

for(int i=0;i<arr.size();i++)
{
if(card.equals(arr.get(i).getCard()))
{
arr.remove(i);
break;
}
}

4.接口的方法不需要实现

5.编程小技巧

boolean ok=false;
for(int i=0;i<arr.size();i++)
{
if(s.equals(arr.get(i).getPwd()))
{
java.util.ArrayList<Worker> arr2 =d.getLoginworkerarr();
arr2.add(arr.get(i));ok=true;
System.out.println("密码验证成功"+arr.get(i).getName());
try {
d.open();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
}

if(!ok)System.out.println("密码验证失败");