2017-02-01 4 views
1

У меня возникли проблемы с моей программой и я не могу понять, почему я получаю эту ошибку, которая меня прослушивала. Любое предложение окажет огромную помощь! Я не знаю, пропал ли я что-то или что-то в этом роде. Я правильно импортировал класс массива.Невозможно найти символ - метод Размер()

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"; 
    } 
} 

}

+0

Вы передаете «Студент» методу «addStudent» и ко многим другим методам. Не список учеников. Вам следует передать список, например «List students». –

+0

@ottrob THX это сработало, но теперь я получаю ту же ошибку для getId()? любые мысли по этому поводу? –

ответ

0

Теперь его противоположность :) students является List и не 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() является метод вашего класса Student.

Смежные вопросы