|
HPs vevstove Forum for datasnakk. |
![]() |
|
Trådverktøy | Visningsmåter |
![]() |
#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. |
![]() |
![]() |
![]() |
#2 |
<*(((<
|
![]() Sv: Noen som kan Java her?Jeg er klar for dagens gode gjerning, men har bare 10-15 minutter til rådighet. |
![]() |
![]() |
![]() |
#4 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?BibliotekTest: 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); } }
__________________
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 14:46. |
![]() |
![]() |
![]() |
#5 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Det skulle være et et takk der også, men jeg ble litt stresset når jeg så du hadde dårlig tid
__________________
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. |
![]() |
![]() |
![]() |
#6 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Jeg får ikke til å legge inn en til bok slik som enBok, skal ha to bøker slik at disse kan sammenlignes(sidetall, forfattere, utgiver osv.)
__________________
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. |
![]() |
![]() |
![]() |
#7 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Dette er oppgaven:
Jeg er så redd for å stryke, det er vanskelig nok å få til med famililivet, hvis man i tillegg må gå opp igjen
__________________
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. |
![]() |
![]() |
![]() |
#8 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Se bort i fra at innholdet bare er tull, men nå klarte jeg å legge inn 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. |
![]() |
![]() |
![]() |
#10 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?
Det går her i hvert fall virker det som, men kan jo bytte det ut. Det er jo best uten. Har ikke tenkt over at jeg har brukt å engang, men ser det når du nevner det.
__________________
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. |
![]() |
![]() |
![]() |
#11 |
<*(((<
|
![]() Sv: Noen som kan Java her?Først: koden slik du har limt den inn kompilerer ikke, pga en ufullstendig metode Test i klassen Bok:
og pga "titte l" helt i slutten av denne linjen:
En bok til legger du vel til med nok et kall til "leggTilBok"-metoden? Som f.eks:
Jeg rekker bare å gi noen generelle tilbakemeldinger:
* Du blir bedt om å lage metoder for å sammeligne forskjellig attributter for to bøker. Et eksempel på metode som sammenligner antall sider blir da:
Vurder å bruke en eller flere Hashtable - da er det lett å slå opp på attributter. Tydelig at oppgaven gjerne vil at du skal gjøre noe slikt. |
![]() |
![]() |
![]() |
#13 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Tusen takk, torsk! Den første
trodde jeg at jeg hadde slettet. Det var bare jeg som satt å prøvde meg litt frem.
__________________
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. |
![]() |
![]() |
![]() |
#14 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?
Tusen takk for tips, HP. Skal huske på det.
__________________
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. |
![]() |
![]() |
![]() |
#15 |
<*(((<
|
![]() Sv: Noen som kan Java her?Uff, jeg har ingen editor/kompilator her jeg sitter, og det er selvsagt noen tastefeil og slikt. Dette er litt bedre, men har ikke sjekket med kompilasjon her heller: Kode:
// compares the number of pages of two Bok objects. Returns -1 if numPages of a<b, 0 if equal, 1 if a>b. public int compareNumPages(Bok a, Bok b){ if (a.getNumPages()<b.getNumPages()){ return -1; } else if (a.getNumPages()>b.getNumPages()){ return 1; } // must be equal, return 0 return 0; } Uff, håper jeg har vært til hjelp og ikke til byrde. Rekker ikke hjelpe til mer, nå er det hyttetur. Sokk fruster over min manglende hjelp til pakking... *svosj* |
![]() |
![]() |
![]() |
#16 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Tusen takk
__________________
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. |
![]() |
![]() |
![]() |
#17 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Da er koden endret litt: Kode:
public class BibliotekTest { public static void main(String[] args) { Bibliotek etBibliotek = new Bibliotek(); etBibliotek.leggTilBok("Italienske sko", "Henning Mankell", 1999, 306, "Gyldendal"); System.out.println(etBibliotek.visAntallBoker()); Bok enBok = etBibliotek.finnBok("Henning Mankell", "Italienske sko"); etBibliotek.leggTilBok("Berliner Poplene", "Anne B. Ragde", 2001, 411, "Per"); Bok toBok = etBibliotek.finnBok("Anne B. Ragde", "Berliner Poplene"); etBibliotek.leggTilBok("Erasmus Montanus", "Hans Nilsen", 1908, 200, "Gyldendal"); Bok treBok = etBibliotek.finnBok("Hans Nilsen", "Erasmus Montanus"); //if (enBok != null) { //System.out.print(enBok.visTittel()); //System.out.println(etBibliotek.finnBok("Test2", "Test1")); //} } } 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); } } 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); Bok toBok = new Bok(forfatter, tittel, år, antSider, forlag); Bok treBok = new Bok(forfatter, tittel, år, antSider, forlag); bokListe.add(enBok); bokListe.add(toBok); bokListe.add(treBok); BokBleLagtTil = true; } return BokBleLagtTil; } public Bok finnBok(String forfatter, String tittel){ //System.out.print("Det gikk"); 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; } //public boolean Test (String enBok, String toBok){ //if(forfatter).equals (forfatter)) { //System.out.println("Funker"); //} //System.out public int sammenlign(Bok enBok, Bok toBok){ if (enBok.getNumPages()<toBok.getNumPages()){ return -1; } else if (enBok.getNumPages()>toBok.getNumPages()){ return 1; } // must be equal, return 0 return 0; } }
__________________
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. |
![]() |
![]() |
![]() |
#19 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
![]() ![]() ![]() ![]() ![]() ![]() |
![]() Sv: Noen som kan Java her?Kommentarene skal ikke stå slik de gjør nå.
__________________
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. |
![]() |
![]() |
![]() |
#20 |
Truth is in the x-files
|
![]() Sv: Noen som kan Java her?Dette er litt som å se på Jordmødre, interessante problemstillinger, men jeg er så glad det ikke er jeg som står midt oppi det ...
__________________
Storebror -06, Lillesøster & Lillebror -09 - Serenity now. Insanity later. |
![]() |
![]() |
![]() |
Trådverktøy | |
Visningsmåter | |
|
|