Katalg książek cz. 1 Przygtwanie klas mdelu dziedzinweg 1) Uruchm Netbeans, stwórz nwy prjekt typu Java Applicatin. W drugim krku kreatra zaznacz utwrzenie klasy głównej nadaj klasie nazwę Main, umieść ją w pakiecie bks (Create Main Class, pełna nazwa klasy: bks.main). 2) W klejnych krkach przygtujemy klasy na ptrzeby systemu katalgwania książek: klasa Bk przechwująca infrmacje pjedynczej książce; klasa BkManager przechwująca listę książek raz udstępniająca metdy d przeszukiwania tej listy. 3) Twrzenie klasy Bk Stwórz klasę nazwie Bk w pakiecie bk (prawy klawisz na nazwie prjektu -> New -> Java Class; w knie dialgwym pdaj nazwę klasy i wybierz z listy pakiet). W klasie Bk umieścimy następujące pla: id, title, authr, isbn, year (ple year typ całkwity Integer; pzstałe typ String) Strna 1
Pełny kd klasy: package bks; public class Bk { private String id; private String title; private String authr; private String isbn; private Integer year; Klasa Bk pwinna spełniać wytyczne JavaBean, czyli psiadać: bezargumentwy knstruktr, prywatne pla, dla każdeg z pól metdy getxxx/setxxx np. dla pla title metdy gettitle()/settitle()) Ddajmy knstruktr bezargumentwy: public Bk() { Ddajmy także drugi knstruktr, inicjujący wszystkie pla wartściami przekazanymi jak argumenty: public Bk(String id, String title, String authr, String isbn, Integer year) { this.id = id; this.title = title; this.authr = authr; this.isbn = isbn; this.year = year; Strna 2
Metdy getxxx/setxxx pwinny mieć następującą pstać (na przykładzie pla title): public String gettitle() { return title; public vid settitle(string title) { this.title = title; Metdy get/set dla pzstałych pól mżemy wygenerwać autmatycznie: kliknij prawym klawiszem w bszarze edytra kdu; z menu kntekstweg wybierz Insert Cde -> Getter and Setter; w kienku dialgwym zaznacz pla, dla których chcesz wygenerwać metdy dstępwe get/set (w tym przypadku wszystkie pla). Strna 3
4) Twrzenie klasy BkManager Stwórz klasę nazwie BkManager w pakiecie bk. W klasie BkManager umieścimy tylk jedn ple, przechwujące listę książek: package bks; imprt java.util.list; public class BkManager { private List<Bk> bks; Knstruktr pwinien przyjmwać jak argument listę książek: public BkManager(List<Bk> bks) { this.bks = bks; W klasie BkManager umieścimy trzy metdy wyszukujące książki: searchbytitle wyszukiwanie p tytule; zwraca listę książek, których tytuły zawierają pdane słw; sygnatura metdy będzie następująca: public List<Bk> searchbytitle(string title) searchbyauthr wyszukiwanie p autrze; zwraca listę książek, których autrem jest pdana sba; sygnatura metdy będzie następująca: public List<Bk> searchbyauthr(string authr) searchbyisbn - wyszukiwanie p numerze ISBN; zwraca pjedynczą książkę pdanym numerze ISBN; sygnatura metdy będzie następująca:. public Bk searchbyisbn(string isbn) Metda wyszukująca książki p tytule będzie przebiegać następując: zainicjuj pustą listę wyników; przejdź w pętli p wszystkich książkach, dla każdej z nich sprawdź, czy tytuł zawiera tekst pdany jak argument; jeśli tak, ddaj książkę d listy wyników; zwróć listę wyników. Strna 4
Pełny kd metdy: public List<Bk> searchbytitle(string title) { List<Bk> result = new ArrayList<>(); fr(bk b: bks) { if(b.gettitle().cntains(title)) { result.add(b); return result; 5) W klasie Main, w metdzie main() przetestuj utwrzne klasy: stwórz 3-4 przykładwe książki, ddaj je d listy; stwórz biekt klasy BkManager, w knstruktrze pdając listę książek; przetestuj metdy wyszukujące, wynik wyświetl na ekranie. Przykładwy kd: public static vid main(string[] args) { Bk b1 = new Bk("b1", "Kparka dla prnych", "Zdzisław Maliniak", "123456789", 2000); Bk b2 = new Bk("b2", "Java rulez", "James Gsling", "2244668800", 1998); Bk b3 = new Bk("b3", "Sadwnictw dla pczątkujących", "Steve Jbs", "13579135", 1990); List<Bk> ksiazki = new ArrayList<>(); ksiazki.add(b1); ksiazki.add(b2); ksiazki.add(b3); BkManager bm = new BkManager(ksiazki); List<Bk> w = bm.searchbytitle("java"); System.ut.println(w); Strna 5
Zadanie 1 Ddaj d klasy Bk pla: publisher typu String; pages typu Integer. Ddaj także dpwiednie metdy get/set raz zmdyfikuj knstruktr, tak żeby pprawnie inicjalizwał także dwa nwddane pla. Zadanie 2 Ddaj d klasy BkManager pzstałe dwie metdy wyszukujące: searchbyauthr raz searchbyisbn. Zwróć uwagę, że wyszukiwanie p tytule i autrze zwraca listę książek, zaś wyszukiwanie p numerze ISBN dkładnie jedną książkę. Strna 6