2016-01-02 4 views
0

Я создал класс для книги с различным полем. Затем я создал класс массива для библиотеки, чтобы хранить данные книги. Однако я не уверен, как их связывать. Я ищу, в конечном счете, возможность искать мой массив для всех книг с одинаковой фамилией автора, например. Должен ли я каким-то образом вызывать методы из кода книги в код библиотеки?Вызов методов класса из другого класса

Это мой объект класса

public class Bookrecord 
{ 
private int idnumber; 
private String author; 
private String title; 
private String fiction; 

public Bookrecord(int newidnumber, String newauthorname, String newtitlename, String newfictionname) 
{ 
    idnumber = newidnumber; 
    author = newauthorname; 
    title = newtitlename; 
    fiction = newfictionname; 
} 

public int getidnumber() 
{ 
    return idnumber; 
} 

public String getauthorname() 
{ 
    return author; 
} 

public String getfictianname() 
{ 
    return fiction; 
} 

public String gettitlename() 
{ 
    return title; 
} 

public void setidnumber(int insertidnumber) 
{ 
    idnumber = insertidnumber; 
} 

public void setauthor(String insertauthorname) 
{ 
    author = insertauthorname; 
} 

public void setfictian(String insertfictionname) 
{ 
    fiction = insertfictionname; 
} 

public void settitle(String inserttitlename) 
{ 
    title = inserttitlename; 
} 

public void printBookrecord() 
{ 
System.out.println("The idNumber is " + idnumber + " The authorname is " + author + " The fictionname is " + fiction + " The titlename is " + title); 
} 
} 

Это мой массив класса

import java.util.ArrayList; 

public class Libraryclass 
{ 
// instance variables - replace the example below with your own 
private ArrayList<String> member; 
private ArrayList<String> bookrecord; 
private ArrayList<String> libraryloan; 

/** 
* Constructor for objects of class Loan 
*/ 
public Libraryclass() 
{ 
    // initialise instance variables 
    member = new ArrayList<String>(); 
    bookrecord = new ArrayList<String>(); 
    libraryloan = new ArrayList<String>(); 
} 

public void addMember(String newMember) 
{ 
    member.add(newMember); 
} 

public void bookrecord(String newrecord) 
{ 
    bookrecord.add(newrecord); 
}  

public void libraryloan(String newloan) 
{ 
    libraryloan.add(newloan); 
} 
} 
+2

Какой у вас вопрос? – Abdelhak

+0

При вызове методов экземпляра вы должны учитывать, что вы вызываете метод одного экземпляра из другого экземпляра. Я предлагаю вам позвонить по всем методам, которые у вас есть, или удалить их, потому что они не используются. –

+1

Итак, вам нужен метод типа «Список findByAthorSurname (String surname)» в Libraryclass. Добавьте его и попробуйте выполнить его. Несколько советов перед началом работы: переименуйте свои классы Book and Library. Переименуйте свои списки, которые содержат ** несколько ** элементов ** s **, 'members',' loans' и 'books' (с' s' понимать на первый взгляд, что переменная содержит несколько книг или членов или кредиты). И, конечно, ваш список должен быть списком , а не списком : библиотека содержит книги, а не строки. –

ответ

1

Это напоминает об уступке для моего первого объектно-ориентированного курса. Я чувствую, что вы также только начали разработку, и вам нужно несколько советов, чтобы начать работу.

Имейте в виду, что мы не ответим вам на ложь, так как он неодобрительно использует stackoverflow для получения полных ответов на задания в колледже.

  1. Ваша библиотека или (arrayclass) следует хранить Array из BookRecord объектов. В настоящее время ваш arraylists провести String объектов. Вы должны перечитать, какие объекты и классы, чтобы лучше понять основные понятия. Вы хотите, чтобы в вашей библиотеке хранился архивариус буксописаний.
  2. FYI: Arraylists - это класс, доступный в java, который позволяет добавлять и удалять элементы. Он имеет некоторое преимущество, связанное с массивами, но также имеет некоторые недостатки.
  3. Ваш объект библиотеки будет использовать «для циклов» или «итераторы», чтобы пройти через ваши arraylist записей. Чтобы реализовать такие функции, как search for book, вам нужно научиться перебирать элементы в arraylist для поиска строк. Google - ваш друг здесь. Вот пример того, что кто-то в вашей позиции следует искать:

- searching through an arraylist, java

- iterating over arraylist, java

- how to use indexof java stack overflow

Наконец, имеет смысл называть методы BookRecords из Libraryclass. BookRecord имеет одну и только одну библиотеку. В библиотеке много книг. Следовательно, библиотека будет содержать ссылки (содержать) книги и будет называть геттеры и сеттеры в книгах.

+0

Спасибо за ответ. Это отличная помощь! –

+0

Добро пожаловать. Имейте в виду, что вам также нужно инициализировать список массивов с тем же типом, что и вы его объявляете.Кроме того, я надеюсь, что вы используете IDE, такие как eclipse или Inteli J ... автозаполнение и выделение делают вещи намного проще, чем писать в блокноте или vi (как это было в моем первом семестре). –

+0

Я использую bluej.However это означает, что я должен переместить методы get и set в библиотечный класс? Будет ли это работать? –

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