【问题标题】:I want to be able to access my teach List in java. I get an error: Cannot resolve symbol 'teach'我希望能够在 java 中访问我的教学列表。我收到一个错误:无法解析符号“教”
【发布时间】: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
  • 你的问题解决了吗?

标签: java list class


【解决方案1】:

把这个:

List<teacher> teach = new ArrayList<>();

teacher 类中,而不是这样的构造函数:

public class teacher {
    private List<teacher> teach = new ArrayList<>();
}

那么,你应该可以访问它了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2023-01-31
    相关资源
    最近更新 更多