|
HPs vevstove Forum for datasnakk. |
|
Trådverktøy | Visningsmåter |
28-09-07, 13:51 | #1 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Noen som kan Java her?Jeg er desperat, skal levere oppgave i dag og får jeg den ikke til så får jeg ikke gå opp til eksamen til jul. Og nå står jeg fast og foreleseren har tydeligvis tatt seg høstferie, for han er ikke å få tak i. Kode:
public class BibliotekTest { public static void main(String[] args) { Bibliotek etBibliotek = new Bibliotek(); etBibliotek.leggTilBok("Italienske sko", "Henning Mankell", 1999, 306, "Gyldendal"); etBibliotek.visAntallBoker(); Bok enBok = etBibliotek.finnBok("Henning Mankell","Italienske sko"); if (enBok != null) { System.out.print(enBok.visTittel()); System.out.print(enBok.visForfatter()); } } } bibliotek: Kode:
import java.util.*; //import java.text.*; import java.util.ArrayList; import java.util.Collections; //for å sortere arraylistene.. public class Bibliotek { private ArrayList<Bok> bokListe; public Bibliotek(){ bokListe = new ArrayList<Bok>(); } private int finnBokPosisjon(String forfatter, String tittel){ int BokPosIndex = -1; for(int i = 0; i < bokListe.size(); i++){ System.out.println("test om forfatter:"+forfatter+" og "+bokListe.get(i).visForfatter()+" er like"); System.out.println("test om tittel:"+tittel+" og "+bokListe.get(i).visTittel()+" er like"); if(bokListe.get(i).visForfatter().equalsIgnoreCase(forfatter)&& bokListe.get(i).visTittel().equalsIgnoreCase(tittel)){ BokPosIndex = i; break; //antar at søket skal stoppe ved første treff } } return BokPosIndex; } public int visAntallBoker(){ return bokListe.size(); } public boolean leggTilBok(String forfatter,String tittel,int år, int antSider, String forlag){ boolean BokBleLagtTil = false; if(finnBokPosisjon(forfatter, tittel) == -1){ Bok enBok = new Bok(forfatter, tittel, år, antSider, forlag); bokListe.add(enBok); BokBleLagtTil = true; } return BokBleLagtTil; } public Bok finnBok(String forfatter, String tittel){ //System.out.print(bokListe.get(0).visForfatter()); //System.out.print(bokListe.get(0).visTittel()); Bok funnetBok = null; int BokIndex = finnBokPosisjon(forfatter, tittel); if(BokIndex != -1){ funnetBok = bokListe.get(BokIndex); } return funnetBok; } public Bok slettBok(String tittel, String forfatter){ Bok funnetBok = null; int BokIndex = finnBokPosisjon(forfatter, tittel); if(BokIndex != -1){ funnetBok = bokListe.get(BokIndex); bokListe.remove(BokIndex); } return funnetBok; } public ArrayList<Bok> finnAlleBoker(String forfatter){ ArrayList<Bok> bokListePaaForfatter = new ArrayList<Bok>(); for(int i = 0; i < bokListe.size(); i++){ if(bokListe.get(i).visForfatter().equalsIgnoreCase(forfatter)){ bokListePaaForfatter.add(bokListe.get(i)); } } //Collections.sort(bokListePaaForfatter); return bokListePaaForfatter; } } Bok: Kode:
public class Bok { private String tittel; private String forfatter; private int utgivelsesår; private String forlag; private int antallSider; public Bok(String tittel, String forfatter, int år, int antSider, String forlag){ this.tittel = tittel; this.forfatter = forfatter; endreUtgivelsesår(år); endreAntSider(antSider); this.forlag = forlag; } //--------------- metoder som returnerer verdier -------------- public String visTittel (){ return tittel; } public String visForfatter (){ return forfatter; } public int visUtgivelsesÅr (){ return utgivelsesår; } //------------------- metoder som endrer på attributter ------------------------ public void endreUtgivelsesår(int år) { utgivelsesår = år; } public void endreAntSider(int antSider){ if(antSider > 0){ antallSider = antSider; } } public void endreForfatter(String nyForfatter){ forfatter = nyForfatter; } public String toString(){ return String.format("%s (%s, %d) ", tittel, forfatter, utgivelsesår); } } Og hvordan kan jeg lage metoder som sammenligner antallsider, utgiver, utgitt årstall osv på to bøker?
__________________
I valg mellom falske venner og åpne fiender har jeg alltid foretrukket det siste - Bjørnstjerne Bjørnson Mamma til poden 05 og prinsessen 11. Sist redigert av *HH* : 28-09-07 kl 15:09. |
|
|