如何使这个方法使用ArrayList?

时间:2013-08-31 16:31:34

标签: java

class Course {
    private String courseName;
    ArrayList<String> students = new ArrayList<>();
    private int numberOfStudents;

    public Course(String courseName) {
        this.courseName = courseName;
    }

    public void addStudent(String student) {
        students[numberOfStudents] = student;//<-- Line 15
        numberOfStudents++;
    }

    public ArrayList getStudents() {
        return students;
    }

    public int getNumberOfStudents() {
        return numberOfStudents;
    }

    public String getCourseName() {
        return courseName;
    }
}

第15行我收到错误“需要数组,但找到了ArrayList。

我不确定该怎么做,因为我是字符串等新手。

2 个答案:

答案 0 :(得分:3)

students被声明为ArrayList。这种表示法

students[numberOfStudents] = student;

仅适用于数组类型。你应该使用

students.add(student);

请阅读ArrayList的javadoc。

您也不需要保留一个字段来保存学生数量,

students.size();

会给你那个。

答案 1 :(得分:1)

如果要在程序中使用ArrayList:

public void addStudent(String student) {
     students.add(student);
   }

 public int getNumberOfStudents() {
     return students.length();
   }  

此外,您不需要numberOfStudents变量