找不到符号 - 方法大小()

时间:2017-02-01 20:40:29

标签: arraylist

我的程序遇到了麻烦,无法弄清楚为什么我会收到这个错误,这个问题一直困扰着我。任何建议都将是巨大的帮助!我不知道我是否遗漏了某些东西或类似东西。我已经正确导入了Array Class。

private String title;
private ArrayList<Student> students;
private int courseId;
private static int courseIdList = 0;

/**
 * 
 */
public Course(String tile)
{
    this.title = title;
    courseId = courseIdList;
    courseIdList++;
    students = new ArrayList<Student>();
}

/**
 * @param returns the title
 */
public String getTitle(String title)
{
    return title;   
}

/**
 * @return returns the ID
 */
public int getId()
{
    return courseId;
}

/**
 * 
 */
public void addStudent(Student students)
{
    for(int i = 0; i < students.size(); i++)
    {
        if(students.getId() != students.get(i).getId())
        {
            students.add(i);
            return;
        }
    }
}

/**
 * 
 */
public void removeStudent(Student students)
{
    for(int i = 0; i < students.size(); i++)
    {
        if(students.getId() == students.get(i).getId())
        {
            students.remove(i);
            return;
        }
    }
}

/**
 * @return if class is above or equal to 10 then return true, else return false;
 */
public boolean isFull(Student students)
{
    if(students.size() >= 30)
    {
        return true;
    }
    else
    {
        return false;
    }
}

/**
 * @returns if the class is below ten then return true, else return false
 */
public boolean cancel(Student students)
{
    if( students.size() < 10)
    {
        return true;
    }
    else
    {
        return false;
    }
}

/**
 * 
 */
public ArrayList<Student> getStudents()
{
    return students;
}

/**
 * 
 */
public boolean inClass(Student students)
{
    for(int i = 0; i < students.size(); i++)
    {
        if(student.getId() == students.get(i).getId())
        {
            return true;
        }
    }
    return false;
}

/**
 * boolean returns true if a student's ID mathes and false if their ID does not. 
 */
public boolean equals(Student s)
{
    if(this.getId() == s.getId())
    {
        return true;
    }
    return false;
}

/**
 * 
 */
public double getAverage()
{
    double sum = 0;

    for(Student s : students)
    {
        sum += s.getGrade();
    }

    double avg = sum / students.size();
    return avg;
}

/**
 * 
 */
public void getHighestGrade()
{
    int highestGrade = 0;
    for(Student s : students)
    {
        if(students.getGrade() > s.get(i).getGrade())
        {
            students.highestGrade(i);
        }
    }

    return new Student(" ", 0,0);
}

/**
 * 
 */
public ArrayList<Student> getWarnings()
{
    for(i = 0; i < students.size; i++)
    {
        if (students.getGrade() <= 70)
        {
            return students;
        }
    }
}

/**
 * 
 */
public void removeSeniors(Student students)
{
    for(i = 0; i < students.size; i++)
    {
        if(students.getId() == students.get(i).subString(0,2).equalsTo(17))
        {
            students.remove(i);
        }
    }
}

/**
 * 
 */
public void sortByGrade()
{

}

/**
 * 
 */
public void sortByAlpha()
{

}

/**
 * 
 */
public String toString()
{
    String printOut = "";

    printOut += "Course name: " + title + "\nStudent ID: " + courseId;

    return printOut;

    for(Student students : students)
    {
        printOut += students.toString() + "\n";
    }
}

}

1 个答案:

答案 0 :(得分:0)

现在正好相反:) studentsList而不是Student。您需要遍历列表并处理每个学生。

public void doSomething(List<Student> students) {
    // does not work because students is a List of students not a student.
    students.getId(); // ERROR

    // loop over the list and then get the id of a single student
    for(Student student : students) {
        int id = student.getId();
        // do something with the id
    }
}

size()是List接口的方法

getId()是您的学生班级的一种方法。