【发布时间】:2021-12-22 17:22:29
【问题描述】:
我想在 java 中访问我的教学列表,但我收到一条错误消息:“无法解析符号 'teach'。如何在我的 allTeachers() 方法中访问我的教学列表???非常感谢您的帮助和如果你能告诉我如何解决这个问题,那就太棒了!我想学习如何解决这个问题,这样我就知道将来如果我必须再次做类似的事情该怎么办。
教师班代码:
package SchoolSystem;
import java.util.ArrayList;
import java.util.List;
public class teacher {
public teacher() {
//null
}
public String first_name;
public String last_name;
public String teacher_id;
public String course;
public teacher(String first_name, String last_name, String teacher_id, String course) {
this.first_name = first_name;
this.last_name = last_name;
this.teacher_id = teacher_id;
this.course = course;
//add teachers
List<teacher> teach = new ArrayList<>();
teach.add(new teacher(first_name, last_name, teacher_id, course));
}
//return firstname
public String getFirstName() {
return first_name;
}
//return lastname
public String getLastName() {
return last_name;
}
//return teacherId
public String getId() {
return teacher_id;
}
//return course
public String getCourse() {
return course;
}
//return all teachers
public void allTeachers() {
System.out.println("-------------------------------------------------------------------");
System.out.printf("%10s %20s %5s %5s", "FIRSTNAME", "LASTNAME", "ID", "COURSE");
System.out.println();
System.out.println("-------------------------------------------------------------------");
for(teacher t: teach) {
System.out.format("%10s %20s %5s %5s",
getFirstName(), getLastName(), getId(), getCourse());
System.out.println();
}
System.out.println("-------------------------------------------------------------------");
}
}
【问题讨论】:
-
a
teacher对象(应命名为Teacher以符合 Java 命名约定)可能不应该包含教师列表。但是,如果您想这样做,您需要将teach设置为您的类的字段,而不是局部变量,该变量会在方法退出时消失。 -
我应该将我的列表移动到主文件吗??
-
好吧,问问自己:如果你创建了两个
teacher的实例,第一个实例中哪些教师将在teach中,第二个实例中哪些教师将在teach?如果您不确定,请编写一个执行此操作的程序并查看。 -
还请阅读实例字段和静态字段之间的区别。这可能会有所帮助:stackoverflow.com/questions/20671008/… 考虑静态字段是否是
teach的更好选择(并将teach重命名为teacherList) -
你的问题解决了吗?