2013-10-05 2 views
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 (ы), я думал, что ArrayLists может принимать любой тип объекта, но это ArrayList любит только строки, так что я «м не уверен, что я должен делать, чтобы исправить это, так что мой ArrayList будет принимать студента объектыне Список_массивы нет подходящих методов для list.add (массив типа объекта)

JCreator говорит, не подходящий способ добавить не найдено

+0

Какой язык вы используете? –

+0

@MarkRotteveel Я не думаю, что это может быть что-то, кроме Java. – arshajii

+0

@arshajii Это было мое предположение, но я действительно задал вопрос, чтобы стимулировать OP обновить вопрос, включив его в качестве тега. Может быть, я должен был бы более четко указать на эту цель;) –

ответ

2

список вы объявили в StudentLottery конструктор является местного переменная, а не поле. Вы не можете получить доступ к нему за пределами конструктора. Возможно, вы имели в виду:

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

public StudentLottery() { 
    this.list = new ArrayList<Student>(); // initialize list in constructor 
} 
Смежные вопросы