蜂信物联FastBee平台https://gitee.com/beecue/fastbee
阿里资料开源项目https://gitee.com/vip204888
百度低代码前端框架https://gitee.com/baidu/amis
OpenHarmony开源项目https://gitcode.com/openharmony
仓颉编程语言开放项目https://gitcode.com/Cangjie
https://blog.youkuaiyun.com/Shangxingya/article/details/105563387**
这篇博客主要讲我的设计思路:
**先写俩个方法 为给接下来的数个方法做铺垫。
一是获取文本所有数据 返回一个Teacher对象链表,二是实现覆盖式输出文本**。
我的五种不同的查询方法其实就是对Teacher对象链表的遍历处理(判断某个属性是否相等)。
修改信息方法也是对Teacher对象链表的遍历处理(用一个新的对象覆盖旧的对象),然后覆盖式输出文本。
增加教师方法就直接给文本输出一个新的Teacher对象即可。
删除教师方法还是对Teacher对象链表的遍历(直接删除某个对象),然后覆盖式输出文档。
批量处理教师就是对单个实现方法的多次调用。
import java.io.*;
import java.util.ArrayList;
import java.util.Objects;
class Teacher {
public String classID;//班级编号
public String name;//姓名
public String sex;//性别
public String major;//主修专业
public String teacherID;//教师编号
public Teacher(String classID, String name, String sex, String major, String teacherID) {
this.classID = classID;
this.name = name;
this.sex = sex;
this.major = major;
this.teacherID = teacherID;
}
@Override
public String toString() {
return classID +“,” + name + “,” + sex + “,” + major + “,” + teacherID;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Teacher teacher = (Teacher) o;
return Objects.equals(classID, teacher.classID) &&
Objects.equals(name, teacher.name) &&
Objects.equals(sex, teacher.sex) &&
Objects.equals(major, teacher.major) &&
Objects.equals(teacherID, teacher.teacherID);
}
}
public class TeacherDeal {
//获取所有教师链表
public ArrayList findAllTeacher() throws IOException{
ArrayList allTeacher = new ArrayList<>();
FileReader fR = new FileReader(“E:\teacher.txt”);
BufferedReader bR = new BufferedReader(fR);
String str = bR.readLine();
while(str != null) {
String[] strs = str.split(“,”);
allTeacher.add(new Teacher(strs[0], strs[1],strs[2], strs[3], strs[4]));
str = bR.readLine();
}
bR.close();
fR.close();
return allTeacher;
}
//覆盖式读入
private void writeToTxT(ArrayList newAllTeacher) throws IOException{
if(newAllTeacher == null) {
return;
}
FileWriter fW = new FileWriter(“E:\teacher.txt”);
BufferedWriter bW = new BufferedWriter(fW);
for (Teacher teacher: newAllTeacher ) {
String str = teacher.toString();
bW.write(str);
bW.newLine();
}
bW.close();
fW.close();
}
//通过教室编号查询代课教师
public Teacher findTeacherByCalssID(String classID)throws IOException {
ArrayList allTeacher = findAllTeacher();
for(Teacher temp : allTeacher) {
if(temp.classID.equals(classID)) {
return temp;
}
}
return null;
}
//通过名字查询教师
public Teacher findTeacherByName(String name)throws IOException {
ArrayList allTeacher = findAllTeacher();
for(Teacher temp : allTeacher) {
if(temp.name.equals(name)) {
return temp;
}
}
return null;
}
//通过性别查询教师
public Teacher[] findTeacherBySex(String sex) throws IOException {
ArrayList allTeacher = findAllTeacher();
ArrayList result = new ArrayList<>();
for(Teacher temp : allTeacher) {
if(temp.sex.equals(sex)) {
result.add(temp);
}
}
return result.toArray(new Teacher[0]);
}
//通过主修专业查询代课教师
public Teacher findTeacherByMajor(String major)throws IOException {
ArrayList allTeacher = findAllTeacher();
for(Teacher temp : allTeacher) {
if(temp.major.equals(major)) {
return temp;
}
}
return null;
}
//通过教师编号查询教师
public Teacher findTeacherByTeacherID(String teacherID) throws IOException{
ArrayList allTeacher = findAllTeacher();
for(Teacher temp : allTeacher) {
if(temp.teacherID.equals(teacherID)) {
return temp;
}
}
return null;
}
//通过教师编号找打这个教师然后修改这个教师信息
public void reviseTeacherInfor(Teacher teacher) throws IOException {
if(teacher == null) {
return;
}
ArrayList allTeacher = findAllTeacher();
Teacher oldTeacher = findTeacherByTeacherID(teacher.teacherID);
if(oldTeacher == null) {
return;
}
allTeacher.set(allTeacher.indexOf(oldTeacher), teacher);
writeToTxT(allTeacher);
}
//批量修改教师信息
public void reviseTeachersInfors(Teacher[] teachers) throws IOException {
if(teachers == null) {
return;
}
for(Teacher teacher : teachers) {
reviseTeacherInfor(teacher);
}
}
//新增加教师
public void addTeacher(Teacher teacher) throws IOException {
if(teacher == null) {
return;
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
r(Teacher teacher) throws IOException {
if(teacher == null) {
return;
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
[外链图片转存中…(img-lq2aCgXd-1725152944394)]