第一版
退出接口
public interface Exitable {
void exit();
//退出系统
}
初始化接口
public interface Initable {
void init();
//初始化数组
void add();
//添加
void update();
//修改
void delete();
//删除
void searchAll();
//查询所有
void searchWhichName();
//根据名字查询
void searchWhichDept();
//根据部门查询
int find(int flag, String name);
void find(String dept);
//查找方法
教师类
package jiaoshiguanlixitong;
public class Teacher {
private String name;//姓名
private int age;//年龄
private String dept;//部门
public Teacher() {
}
public Teacher(String name, int age, String dept) {
this.name = name;
this.age = age;
this.dept = dept;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getDept() {
return dept;
}
public String intro(){
return "姓名:"+name+"\t部门:"+dept;
}
//自我介绍intro()方法
}
教师信息系统
package jiaoshiguanlixitong;
import java.util.Scanner;
public class TIMS extends SystemManager implements Initable,Exitable{
Scanner input = new Scanner(System.in);
Teacher[] teachers = new Teacher[5];
//创建对象
@Override
public void chooseMenu() {
showMenu();
System.out.println("请选择:");
switch (input.nextInt()) {
case 1: searchAll();break;
case 2: add();break;
case 3: update();break;
case 4: delete();break;
case 5: searchWhichName();break;
case 6: searchWhichDept();break;
case 7: exit();
}//选择功能
}
@Override
public void exit() {
System.exit(0);
}
@Override
public void delete() {//删除功能
System.out.println("请输入你要删除的老师的姓名");
Scanner scanner =new Scanner(System.in);
String searchName =scanner.next();
//按照名字找到老师
int index = find(1, searchName);
if (index != -1) {
teachers[index] = null;
} else {
System.out.println("没有找到");
}
}
@Override
public void add() {//增加功能
Scanner scanner =new Scanner(System.in);
//查空位
int index = find(0, null);
//不等于-1就是有空位
if (index != -1) {
System.out.println("请输入名字");
String addname = scanner.next();
System.out.println("请输入年龄");
int addage = scanner.nextInt();
System.out.println("请输入部门");
String adddept = scanner.next();
Teacher addTeacher =new Teacher(addname,addage,adddept);
teachers[index]=addTeacher;
System.out.printf("添加成功");
} else {
System.out.println("老师人数已满,不能再添加了");
}
}
@Override
public void update() {//修改功能
System.out.printf("请输入需要修改的老师姓名:");
Scanner scanner =new Scanner(System.in);
String searchName =scanner.next();
//按照名字找到老师
int index = find(1, searchName);
if (index != -1) {
System.out.println("请输入要修改的“年龄”和”所在的部门“");
System.out.println("请输入年龄");
int addage = scanner.nextInt();
System.out.println("请输入部门");
String adddept = scanner.next();
teachers[index] = new Teacher(searchName, addage, adddept);
} else {
System.out.println("没有找到");
}
}
@Override
public void searchAll() {
// 查看所有教师
int i = find(2, null);
}
@Override
public void searchWhichName() {
System.out.println("请输入你要查询的老师的姓名");
//查询老师----通过姓名查询
Scanner scanner =new Scanner(System.in);
String searchName =scanner.next();
int index = find(1, searchName);
if (index != -1) { //查询到名字,然后输出
System.out.println("姓名 年龄 部门");
System.out.println(teachers[index].getName() + " " + teachers[index].getAge() + " " + teachers[index].getDept());
} else {
System.out.println("没有找到");
}
}
@Override
public void searchWhichDept() {
// 通过部门查询
System.out.println("请输入你要查询的部门");
Scanner scanner =new Scanner(System.in);
String dept =scanner.next();
//部门不止一个,如果查到了就记录下索引,放到数组里
find(dept);
}
@Override
public void showMenu() {
// System.out.println("欢迎来到教师管理系统");
System.out.println("1、查看\t2、增加\t3、修改\t4、删除\t5、根据姓名查询\t6、根据部门查询\t7、退出");
}
@Override
public void init() {
Teacher t1 = new Teacher("wangwu",35,"教导处");
teachers[0]=t1;
Teacher t2 = new Teacher("Hewu",45,"教导处");
teachers[1]=t2;
Teacher t3 = new Teacher("quwu",45,"团支部");
teachers[2]=t3;
}
@Override
public int find(int flag, String name) {
int f = 0;
switch (flag) { //规定0为查空位
case 0:
for (; f < teachers.length; f++) {
//当查询到数组中有个null就返回该索引
if (teachers[f] == null) {
return f;
}
}
if (f == teachers.length)
return -1;
break;
case 1:
for (; f < teachers.length; f++) {
if (teachers[f] != null && name.equals(teachers[f].getName())) {
return f;
}
}
if (f == teachers.length)
return -1;
break;
case 2:
System.out.println("姓名 年龄 部门");
for (int i = 0; i < teachers.length; i++) {
if (teachers[i] == null) {
continue;
}
System.out.println(teachers[i].getName() + " " + teachers[i].getAge() + " " + teachers[i].getDept());
}
return -1;
}
return 0;
}
@Override
public void find(String dept) {
System.out.println("姓名 年龄 部门");
for (int i = 0; i < teachers.length; i++) {
//找到一个部门就输出一个
if (teachers[i] != null && dept.equals(teachers[i].getDept())) {
System.out.println(teachers[i].getName() + " " + teachers[i].getAge() + " " + teachers[i].getDept());
}
}
}
}
教师系统
package jiaoshiguanlixitong;
public abstract class SystemManager {
//显示菜单
public abstract void showMenu();
//选择菜单
public abstract void chooseMenu();
}
运行
public class RunningSystem {
/*
主函数,用来运行系统
*/
public static void main(String[] args) {
//引用intro()方法
Teacher teacher = new Teacher("wangww",28,"团支部");
System.out.println(teacher.intro());
TIMS tims = new TIMS();
System.out.println("欢迎来到教师管理系统");
tims.init();
while (true) {
tims.chooseMenu();
}
}
}
第二版
教师类(Teacher.java)
class Teacher {
private String name;
private int age;
private String dept;
public Teacher(String name, int age, String dept) {
this.name = name;
this.age = age;
this.dept = dept;
}
public void intro() {
System.out.println("姓名:" + name);
System.out.println("部门:" + dept);
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getDept() {
return dept;
}
public void setAge(int age) {
this.age = age;
}
public void setDept(String dept) {
this.dept = dept;
}
}
初始化接口(Initable.java)
interface Initable {
void init();
}
退出接口(Exitable.java)
interface Exitable {
void exit();
}
管理系统抽象类(SystemManage.java)
abstract class SystemManage {
public void showMenu() {
// 显示菜单
System.out.println("==== 教师信息管理系统 ====");
System.out.println("1. 增加教师信息");
System.out.println("2. 修改教师信息");
System.out.println("3. 删除教师信息");
System.out.println("4. 查看所有教师信息");
System.out.println("5. 用姓名查找教师信息");
System.out.println("6. 用部门查找教师信息");
System.out.println("0. 退出系统");
}
public abstract void chooseMenu(int choice);
}
教师信息管理系统类(TIMS.java)
import java.util.Scanner;
class TIMS extends SystemManage implements Initable, Exitable {
private Teacher[] teachers;
public TIMS(int size) {
teachers = new Teacher[size];
}
public void init() {
// 初始化教师信息
teachers[0] = new Teacher("John Doe", 35, "Math Department");
teachers[1] = new Teacher("Jane Smith", 40, "Science Department");
// 添加更多的教师信息...
}
public void exit() {
// 退出系统
System.out.println("已退出教师信息管理系统");
}
@Override
public void chooseMenu(int choice) {
switch (choice) {
case 1:
addTeacher();
break;
case 2:
modifyTeacher();
break;
case 3:
deleteTeacher();
break;
case 4:
displayAllTeachers();
break;
case 5:
findTeacherByName();
break;
case 6:
findTeachersByDepartment();
break;
case 0:
exit();
break;
default:
System.out.println("无效的选择");
}
}
private void addTeacher() {
// 实现增加教师信息的方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入教师姓名:");
String name = scanner.nextLine();
System.out.println("请输入教师年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 读取换行符
System.out.println("请输入教师部门:");
String dept = scanner.nextLine();
Teacher teacher = new Teacher(name, age, dept);
// 找到teachers数组中第一个为空的位置,将教师对象添加到该位置
for (int i = 0; i < teachers.length; i++) {
if (teachers[i] == null) {
teachers[i] = teacher;
System.out.println("教师信息添加成功!");
return;
}
}
System.out.println("教师信息添加失败,教师数组已满!");
}
private void modifyTeacher() {
// 实现修改教师信息的方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的教师姓名:");
String name = scanner.nextLine();
for (int i = 0; i < teachers.length; i++) {
if (teachers[i] != null && teachers[i].getName().equals(name)) {
System.out.println("请输入新的教师年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 读取换行符
System.out.println("请输入新的教师部门:");
String dept = scanner.nextLine();
teachers[i].setAge(age);
teachers[i].setDept(dept);
System.out.println("教师信息修改成功!");
return;
}
}
System.out.println("未找到匹配的教师信息!");
}
private void deleteTeacher() {
// 实现删除教师信息的方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的教师姓名:");
String name = scanner.nextLine();
for (int i = 0; i < teachers.length; i++) {
if (teachers[i] != null && teachers[i].getName().equals(name)) {
teachers[i] = null;
System.out.println("教师信息删除成功!");
return;
}
}
System.out.println("未找到匹配的教师信息!");
}
private void displayAllTeachers() {
// 实现查看所有教师信息的方法
for (Teacher teacher : teachers) {
if (teacher != null) {
teacher.intro();
System.out.println("-------------------");
}
}
}
private void findTeacherByName() {
// 实现用姓名查找教师信息的方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查找的教师姓名:");
String name = scanner.nextLine();
for (Teacher teacher : teachers) {
if (teacher != null && teacher.getName().equals(name)) {
teacher.intro();
return;
}
}
System.out.println("未找到匹配的教师信息!");
}
private void findTeachersByDepartment() {
// 实现用部门查找教师信息的方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查找的部门名称:");
String dept = scanner.nextLine();
boolean found = false;
for (Teacher teacher : teachers) {
if (teacher != null && teacher.getDept().equals(dept)) {
teacher.intro();
System.out.println("-------------------");
found = true;
}
}
if (!found) {
System.out.println("未找到匹配的教
师信息!");
}
}
}
主程序(Main.java)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
TIMS tims = new TIMS(100);
tims.init();
Scanner scanner = new Scanner(System.in);
int choice;
do {
tims.showMenu();
System.out.println("请输入您的选择:");
choice = scanner.nextInt();
scanner.nextLine(); // 读取换行符
tims.chooseMenu(choice);
} while (choice != 0);
}
}
将以上代码分别保存到不同的文件中,然后编译并运行Main.java
即可运行教师信息管理系统。确保在运行代码之前,已经安装了Java开发环境(JDK)并正确配置了环境变量。