IDEA中项目的一览图
概述
功能概述:实现学生信息的增删改查,创建本地文件进行读取、保存;有两种权限:学生和老师(管理员);学生只能对自己的信息进行修改;老师可以查看和修改所有的学生信息;在学生对进行自己信息进行操作之前,需要老师先在系统中添加这个学生的信息;
源码
源码如下:
接口
package com.hengzhi.service;
import com.hengzhi.pojo.StudentList;
import java.io.IOException;
public interface ManagerSystemService {
void studentListSet(StudentList list);
void resetPassword(String password);
int authentication(String name) throws IOException;
void setPassWord(String s);
void loadPassword(String s);
String getPassWord();
}
//学生列表的功能
package com.hengzhi.service;
import com.hengzhi.pojo.StudentList;
import java.io.IOException;
public interface StudentListService {
void add(StudentList sl);
void reset(StudentList sl);
void delete(StudentList sl);
void search(StudentList sl, String s);
void output(StudentList sl, String password) throws IOException;
void revice(StudentList list, int index);
void show(StudentList list);
}
//学生的功能
package com.hengzhi.service;
import com.hengzhi.pojo.Student;
//学生信息功能实现
public interface StudentService {
void show(Student s);
}
实现类
package com.hengzhi.service.serviceImpl;
import com.hengzhi.pojo.ManagerSystem;
import com.hengzhi.pojo.StudentList;
import com.hengzhi.service.ManagerSystemService;
public class ManagerSystemServiceImpl extends ManagerSystem implements ManagerSystemService {
@Override
public void setPassWord(String s) {
if(this.password == null){
this.password = s;
System.out.println("密码设置成功");
}else{
System.out.println("密码已设置,不可进行再次初始设置");
}
}
@Override
public void loadPassword(String s) {
this.password = s;
}
@Override
public String getPassWord() {
return password;
}
//设置学生列表
@Override
public void studentListSet(StudentList list) {
this.list = list;
}
//修改管理员密码
@Override
public void resetPassword(String newPassword) {
if(this.password.equals(newPassword)){
System.out.println("请输入新密码");
this.password = s.next();
this.number = 3;
System.out.println("密码修改成功,验证次数已重置");
}else {
System.out.println("密码错误,还有"+this.number+"次机会");
this.number--;
}
}
//身份验证.需要传入一个字符串,如果该字符串是"Student",则表示是以学生身份进行验证操作的,否则则是管理员身份进行操作
@Override
public int authentication(String name) {
if(name.equals("Student")){
//学生端
int number = 3;
while(number > 0) {
System.out.println("请输入学生ID和密码");
String ID = s .next();
String password = s.next();
boolean key = false;
for(int i=0;i<=list.studentList.size()-1;i++){
if(list.studentList.get(i).studentID.equals(ID)){
if(list.studentList.get(i).password.equals(password)){
System.out.println("登录成功");
return i;
}else{
key = true;
System.out.println("密码错误");
number--;
break;
}
}
}
if(!key){
System.out.println("未找到该学生信息,请先联系管理员老师添加学生信息");
number--;
}
}
if(number == 0) {
System.out.println("尝试次数已用完,本系统即将自动关闭");
System.exit(0);
}
}else {
//老师端
while(this.number > 0){
System.out.println("请输入密码:");
String pw = s.next();
if(pw.equals(this.password)){
System.out.println("登陆成功,您现在可以对所有学生信息进行操作了");
return</