2015-01-15 5 views
0

я получаю ошибку на этой линии в коде ниже:пытается сделать ArrayList дает мне эту ошибку

listofmembers.add(Member); 

Попытка сделать ArrayList, но дает мне эту ошибку может кто-то пожалуйста, помогите мне исправить спасибо, что я пытаюсь сделать мой класс библиотеки сохранить свои член и книги, чтобы я мог напечатать их в виде списка

public class Library 
{ 
    private ArrayList<Member>listofmembers; 
    public Library() 
    { 
     listofmembers = new ArrayList<Member>(); 
    } 
    public void storeMember(String Member) 
    { 
     listofmembers.add(Member); 
    } 
    public int numberOfMembers() 
    { 
     return Member.size(); 
    } 
} 
+0

Покажите нам свой основной() метод. Также, пожалуйста, перечислите ошибку. – rajah9

+1

И, пожалуйста, проявляйте большую осторожность при форматировании кода - у вас огромное количество вертикальных пробелов и непоследовательных отступов. –

+1

Ваша подпись метода 'public void storeMember <> (Member)' несет недопустимый синтаксис Java. –

ответ

5

Вы пытаетесь добавить String к ArrayList<E> типа Member. Это не сработает. Либо измените список массивов на ArrayList<String>, либо добавьте Member в listofmembers.

Это наиболее вероятно, что декларация public void storeMember(String Member) предназначается, чтобы быть:

public void storeMember(Member member) 
{ 
    listofmembers.add(member); 
} 

Кроме того, numberOfMembers должен возвращать listofmembers.size(), не Member.size().

-1

Dont инициализации ваш ArrayList, как это: list = new ArrayList<Member>(); Но как это: list = new ArrayList<>();

+0

Возможно, это сработает. – Oliver

+0

Это ничего не решает. Это просто улучшение стиля кода для пользователей JDK7 (или выше) – Tom

+0

Ohh, okey. Также был уверен. – Oliver

2

У вас есть две синтаксические ошибки:

1. Вы пропускаете параметр, имя (и удалить <>):

public void storeMember(Member member) { 
    listofmembers.add(member); 
} 

2. Возвращает размер список (не класс):

public int numberOfMembers() { 
    return listofmembers.size(); 
} 
-1

Fix это так:

public class Library 
{ 
    private ArrayList<Member>listOfMembers; 
    public Library() 
    { 
     listOfMembers = new ArrayList<Member>(); 
    } 
    public void storeMember(Member member) 
    { 
     listOfMembers.add(member); 
    } 
    public int numberOfMembers() 
    { 
     return listOfMembers.size(); 
    } 
} 

Если добавить член (String) в ArrayList (члена), вам не хватает соответствия типа , Итак, измените public void storeMember (String Member) в public void storeMember (член-член) или если участник хочет изменить строку ArrayList<String>. Это хорошая практика программирования для записи переменных таким образом listOfMembers, а не listofmembers, как вы, как вы делали с функциями. В номереOfMembers вы должны вернуть размер arraylist, а не размер члена класса. Не забудьте включить участника класса.

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