a) Definer en klasse Bok som skal representere en bok. Klassen skal ha datafelt for forfatter, tittel og ISBN-nr, alle av type String. Klassen skal ha en konstruktør som initialiserer datafeltene via parametre. Klassen skal dessuten ha get-metoder for å hente ut datafeltenes verdier og en toString-metode som returnerer datafeltenes verdier i ett String-objekt.
b) Definer en klasse Bokregister. Klassen skal inneholde en array med plass til kapasitet Bok-objekter, der kapasitet er et int-datafelt som får verdi via en konstruktørparameter. Klassen skal ha følgende metoder:
public boolean settInn( Bok b ) { ... }
Metoden skal sette inn b i klassens
Bok-array i tilfelle det er ledig plass og
returnere true. Den skal returnere
false dersom arrayen allerede var full.
public String toString() { ... }
Metoden skal returnere alle registrerte opplysninger om alle bøker i klassens
Bok-array. Bokopplysningene skal skilles med to
linjeskift mellom hver bok.
String
-objekter for å sjekke om de har samme innhold. Til dette
formål kan du (vanligvis) ikke bruke ==
, men må isteden skrive
slik, i tilfelle de to String
-objektene heter streng1
og streng2
:
if ( streng1.equals( streng2 ) ) ... // strengene har samme innhold
public String bokdata( String isbn ) { ... }
Metoden skal returnere de opplysninger som er registrert for bok med ISBN-nr lik parameteren
isbn i tilfelle denne finnes i klassens
Bok-array. Dersom den ikke finnes, skal verdien
null returneres.
public boolean slett( String isbn ) { ... }
Metoden skal fjerne fra Bok-arrayen den boka som
har ISBN-nr lik parameteren isbn i tilfelle denne finnes, og
returnere true. Finnes ikke boka, skal metoden
returnere false.
Skriv i vindusklassen en metode for hver av de fire kommandoene som programmet skal kunne utføre. Disse må det gjøres kall på i vinduets actionPerformed-metode, bestemt av hvilken knapp det er klikket på. For å finne ut hvilken knapp det er klikket på, kan du gjøre tilsvarende som i programeksemplet for persondata i Introduksjon til programmering. Dette eksemplet finner du på adressen http://www.iu.hio.no/~evav/uvstoff/intro/kap8.html#Personeksempel. Hele det nevnte programeksemplet har for øvrig en struktur som er svært lik det programmet som du nå får i oppgave å lage. Hovedforskjellen er at det her skal lagres og administreres bokobjekter istedenfor personobjekter.
Bok.java |
Bokregister.java |
Bokregister2.java |
Bokvindu.java |
Bibliotek.java |