|
HPs vevstove Forum for datasnakk. |
|
Trådverktøy | Visningsmåter |
29-09-07, 11:24 | #42 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?Nei, jeg har ikke levert. Har sendt en mail til foreleser(hadde gjort det fra før av også, men tror han er på ferie) og spurt pent om å få levere innen søndag. Regner med det går greit, sendte over koden for å vise at jeg har jobbet og ikke bare bedt om utsettelse fordi jeg ikke hadde begynt med oppgaven. Kode:
public class Bok { private String tittel; private String forfatter; private int utgivelsesar; private String forlag; private int antallSider; public int numPages; public String getName; public Bok(String tittel, String forfatter, int år, int antSider, String forlag){ this.tittel = tittel; this.forfatter = forfatter; endreUtgivelsesar(år); endreAntSider(antSider); this.forlag = forlag; } //--------------- metoder som returnerer verdier -------------- public String visTittel (){ return tittel; } public String visForfatter (){ return forfatter; } public int visUtgivelsesar (){ return utgivelsesar; } public int visAntallSider (){ return antallSider; } public void setAntallSider (int AntallSider) { AntallSider = AntallSider(); } public int getAntallSider() { return AntallSider; } //dette er en mutasjonsmetode public void setNumPages(int numOfPages){ numPages = numOfPages; } //dette er enn tilgangsmetode public int getNumPages(){ return numPages; } public void setGetName(String getOneName){ getName = getOneName; } public String getName(){ return Name; } //------------------- metoder som endrer på attributter ------------------------ public void endreUtgivelsesar(int ar) { utgivelsesar = ar; } 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, utgivelsesar); } } 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 ar, int antSider, String forlag){ boolean BokBleLagtTil = false; if(finnBokPosisjon(forfatter, tittel) == -1){ Bok enBok = new Bok(forfatter, tittel, ar, antSider, forlag); Bok toBok = new Bok(forfatter, tittel, ar, antSider, forlag); Bok treBok = new Bok(forfatter, tittel, ar, 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 boolean sammenligneAntallSider(Bok enBok, Bok toBok){ boolean bokerLike = false; if(enBok.getAntallSider() == toBok.getAntallSider()){ bokerLike = true; } return bokerLike; } } BibliotekTest 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")); //} } }
__________________
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. |
29-09-07, 11:39 | #43 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?En av grunnene til at jeg sliter sånn er at vi ikke har lært så mye som står i oppgaven, vi er ikke så langt i boka engang(vi jobber etter bok i forelesningen). Så jeg er avhengig av å leste og prøve å lære meg fra boka og se etter eksempler på nettet. Resultatet blir deretter.
__________________
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. |
29-09-07, 11:39 | #44 |
Hertuginne
|
Sv: Noen som kan Java her?Jeg er bare her inne for å vise min dypeste sympati, jeg hatet programmering dypt og intenst da jeg studerte. Heldigvis er det eneste jeg har hatt bruk for det i ettertid måten man tenker på, logikken og strukturen, og det er mye greiere enn selve kodene.
__________________
Å dra nytte av gode råd krever større visdom enn å gi dem. John Churton Collins |
29-09-07, 11:54 | #45 |
Administrator
|
Sv: Noen som kan Java her?Jeg har fikset litt på Bok-klassen din, og lagt inn eksempel på sammenligningsmetode, samt aksessor- og mutatormetoder for alle variabler. Jeg har ingen kompilator, så det får du ta deg av. Jeg tar forbehold om skrivefeil. (Jeg må også si at det nå er et år siden jeg sist rørte Java, så jeg er ikke helt oppdatert, blundere kan forekomme. ) Kode:
public class Bok { private String tittel; private String forfatter; private int utgivelsesar; private String forlag; private int antallSider; public Bok(String tittel, String forfatter, int utgivelsesar, int antSider, String forlag) { setTittel(tittel); setForfatter(forfatter); setUtgivelsesar(utgivelsesar); setAntallSider(atSider); setForlag(forlag); } /** * Aksessormetoder */ public String getTittel () { return tittel; } public String getForfatter () { return forfatter; } public int getUtgivelsesar () { return utgivelsesar; } public int getAntallSider () { return antallSider; } public String getForlag() { return forlag; } /** * Mutatormetoder */ public set(String tittel, String forfatter, int utgivelsesar, int antSider, String forlag) { setTittel(tittel); setForfatter(forfatter); setUtgivelsesar(utgivelsesar); setAntallSider(atSider); setForlag(forlag); } public void setAntallSider (int antallSider) { this.antallSider = antallSider; } public void setTittel(String tittel) { this.tittel = tittel; } public void setForfatter(String forfatter) { this.forfatter = forfatter; } public void setUtgivelsesar(int utgivelsesar) { this.utgivelsesar = utgivelsesar; } public void setForlag(String forlag) { this.forlag = forlag; } /** * Metode for sammenligning av denne boken med en annen * Eksempelet viser antall sider, kan også brukes på andre elenemt */ public int comparePages(Bok annenBok) { if (this.antallSider < annenBok.getAntallSider()) return -1; else if (this.antallSider > annenBok.getAntallSider()) return 1; else return 0; } /** * "Obligatoriske" metoder, overstyrer Object sine metoder */ public boolean equals(Object annenBok) { //Test om annenBok er en bok før du fortsetter if (this.tittel == annenBok.getTittel() && this.forfatter == annenBok.getForfatter() && this.utgivelsesar == annenBok.getUtgivelsesar() && this.antallSider == annenBok.getAntallSider() && this.forlag == annenBok.getForlag()) return true; else return false; } public String toString(){ return String.format("%s (%s, %d) ", tittel, forfatter, utgivelsesar); } } |
29-09-07, 11:57 | #46 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?Så flott, det var virkelig snilt, HP! Skal se på det med engang!
__________________
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. |
29-09-07, 12:01 | #48 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?Det var kun en feil under kompilering av klassen bok:
__________________
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. |
29-09-07, 12:05 | #50 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?Eksempel på sammenligning skal inn i Bibliotek slik som jeg hadde den eller er det feil?
__________________
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. |
29-09-07, 12:54 | #54 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?Det skal jeg gjøre
__________________
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. |
29-09-07, 18:08 | #55 |
Pauset
Medlem siden: Sep 2006
Hvor: In Town!
Innlegg: 5.952
|
Sv: Noen som kan Java her?Public void SET??? Aldri hørt om... |
29-09-07, 19:57 | #58 |
Frøken
Medlem siden: Oct 2006
Hvor: Østlandet
Innlegg: 2.269
|
Sv: Noen som kan Java her?
Ikke vi heller, syntes ikke vi har forutsetning til å klare dette, ikke jeg i alle fall. Men vet noen i klassen har drevet med Java før, så de har ikke de samme problemene.
__________________
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. |
29-09-07, 20:36 | #59 |
Pauset
Medlem siden: Sep 2006
Hvor: In Town!
Innlegg: 5.952
|
Sv: Noen som kan Java her?
Var litt det jeg stusset på bla. Den oppgaven så rett og slett veldig ukjent ut for min del.. og vi er tydeligvis litt lenger i boka. Snodig. |
29-09-07, 21:03 | #60 |
Administrator
|
Sv: Noen som kan Java her?
Du tenker nok på public static void main, og det får du mer av senere i utdanningen. 'public void set()' er det samme som 'public void setAntallSider()', bare det at den første tar alle variablene som kan endres i objektet (tar jo bare de du bestemmer, men konvensjonelt så tar den alt), praktisk noen ganger, ikke nødvendig for å besvare *HH*s oppgave. |
Trådverktøy | |
Visningsmåter | |
|
|