0
    public StudentLottery() {
     ArrayList<Student> list = new ArrayList<Student>();
}



    public void addStudents() {

    Scanner keyboard=new Scanner(System.in);
    String input;
    String id;
    String name;
    Student s;
    System.out.println("Enter? (y or n):");
    input=keyboard.nextLine();
    while (!(input.equals("n"))){
        System.out.println("Name:");
        name=keyboard.nextLine();   
        System.out.println("ID:");
        id=keyboard.nextLine();
        s=new Student(name,id);
        if (!(list.contains(s)))
            list.add(s);//error
        System.out.println("Enter? (y or n):");
        input=keyboard.nextLine();
    }

}

list.add(s) 上发生错误,我认为 arrayLists 可以接受任何类型的对象,但是这个 arraylist 只喜欢字符串,所以我不确定我应该做些什么来解决这个问题,以便我的 arraylist 将接受学生对象

jcreator 说没有找到合适的添加方法

4

1 回答 1

2

您在StudentLottery构造函数中声明的列表是局部变量,而不是字段。您无法在构造函数范围之外访问它。也许你的意思是:

private ArrayList<Student> list;  // i.e. list is a field

public StudentLottery() {
    this.list = new ArrayList<Student>();  // initialize list in constructor
}
于 2013-10-05T13:13:42.267 回答