dj-David Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 Hei Jeg har fått et oppgave,der jeg skal lage en bysykkel-app som skal innholde 5 klasser. Jeg har fått problem med å lage Person-klasse og Personregister-klasse. her er pseudokode: import java.util.Date; import java.text.DateFormat; public class Person { < datafelt > < konstruktør > < get-metoder for sykkel og idNr > public boolean godkjent() { < Metoden skal returnere true hvis personen ikke allerede leier en sykkel og ikke har noen merknader. Ellers false. > } public void setMerknad(Date t, String m) { < Metoden skal ut fra parametrene t og m lagre en tekst i datafeltet for merknader. I teksten skal tidspunktet formateres slik det er beskrevet i oppgavens innledning. > } public boolean leiSykkel(Sykkel s) { < Hvis personen er godkjent, jfr. metoden godkjent(), skal metoden registrere at personen leier sykkelen s. Starttidspunktet for leietiden skal også registreres og skal være det samme som tidspunktet for når denne metoden blir kalt. Metoden skal så returnere true. Hvis personen ikke er godkjent, får vedkommende ikke leie sykkelen s og metoden skal returnere false. > } public int leietid(Date sluttTid) { < Metoden skal returnere antall påbegynte timer fra starttidspunktet for leien til sluttidspunktet angitt av parameteren sluttTid. > } public void leverInn() { < Metoden skal registrere innleveringstidpunktet (som vil være det samme som tidspunktet for når denne metoden blir kalt). Videre skal leietiden beregnes. Hvis den lovlige leietiden er overskredet, skal det settes en merknad på personen. Denne skal inneholde innleveringstidspunktet og det antall timer leietiden er overskredet med. Uansett skal det registreres at personen ikke lenger leier sykkelen. > } public String toString() { < Metoden skal returnere en tekst som inneholder personens navn og idNr. Hvis personen leier en sykkel, skal sykkelens idNr tas med i teksten. Hvis personen har en merknad, skal denne også tas med i teksten. > } } // end of class Person public class PersonRegister { private Person[] personer; public PersonRegister(int antall) { personer = new Person[antall]; opprettPersonregister(); } public void opprettPersonregister() { < Her skal du opprette konkrete Person-objekter og sette dem inn i arrayen, f.eks 10 stykker. Du vil trenge dem for å kunne teste ut programmet. > } public Person finnPerson(int personId) { < Metoden skal lete etter en person (et person-objekt) med idNr lik parameteren personId. Hvis personen finnes i registeret, skal person- objektet returneres fra metoden. I motsatt fall skal metoden returnere null. NB! Vi kjenner ikke til antall person-objekter i arrayen og vet heller ikke om disse ligger etter hverandre. > } public Person finnSykkelBruker(int sykkelId) { < Metoden skal lete etter en person (et person-objekt) som leier en sykkel med idNr lik parameteren sykkelId. Hvis en slik person finnes i registeret, skal person-objektet returneres fra metoden. I motsatt fall skal metoden returnere null. NB! Vi kjenner ikke til antall person-objekter i arrayen og heller ikke om disse ligger etter hverandre. > } } // end of class PersonRegister Lenke til kommentar
Pydien Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 Hva har du så langt da? Tviler på noen vil gjøre oppgaven din. Lærer ikke på den måten. 2 Lenke til kommentar
dj-David Skrevet 23. oktober 2012 Forfatter Del Skrevet 23. oktober 2012 Jeg har problem med boolean-metoder i Person-klasse, og opprettPersonregister- metode i Personregister-klasse,ellers resten klarer jeg Lenke til kommentar
Djn Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 (endret) edit: Right, du har svart på det jeg opprinnelig spurte om. For å begynne et sted, klarer du å lage ett enkelt Person-objekt og putte det i arrayet i opprettPersonregister? Endret 23. oktober 2012 av Djn Lenke til kommentar
dj-David Skrevet 23. oktober 2012 Forfatter Del Skrevet 23. oktober 2012 Jeg må oversette pesudokoden til java-koding. Lenke til kommentar
H5N1 Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 Du må være litt mer spesifikk om hva du ikke får til og hva du lurer på. Lenke til kommentar
dj-David Skrevet 23. oktober 2012 Forfatter Del Skrevet 23. oktober 2012 Jeg vet ikke hva jeg skal skrive i boolean-metoder, med logikken har jeg problem. Lenke til kommentar
Gjest Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 (endret) Du må da lese. Booleans = noe som kan være sant (true) eller ikke-sant (false) F.eks, metoden godkjent() ber deg sjekke om personen leier en sykkel, hvis personen gjør det skal man retunere sant (true), hvis ikke skal man retunere ikke-sant (false) Og jeg vet at du allerede har hatt to andre obligatoriske oppgaver, du har da løst dem fra pseudo-kode? Endret 23. oktober 2012 av Gjest Lenke til kommentar
H5N1 Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 public boolean godkjent() { < Metoden skal returnere true hvis personen ikke allerede leier en sykkel og ikke har noen merknader. Ellers false. > } public boolean godkjent() { if(!leier && !merknader) return true; return false; } Lenke til kommentar
Djn Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 (endret) Jeg vet ikke hva jeg skal skrive i boolean-metoder, med logikken har jeg problem. "Boolean" betyr at det har med sant/usant - verdier å gjøre, så de metodene skal svare på et eller annet spørsmål. Noe slikt: public boolean erKongHarald() { if (name.equals("Harald") && stilling.equals("Konge") ) { return true; } else { return false; } } Legg merke til at du også kan gjøre dette, som er foretrukket (men kanskje vanskeligere å lese om du ikke er helt stø på hva slags verdier man får fra ting): public boolean erKongHarald() { return (name.equals("Harald") && stilling.equals("Konge") ); } Endret 23. oktober 2012 av Djn Lenke til kommentar
H5N1 Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 http://www.iu.hio.no/~evav/ProgrammeringH2012/Obliger/Oblig3H12/Oblig3H12.html Jeg vet ikke hva jeg skal skrive i boolean-metoder, med logikken har jeg problem. "Boolean" betyr at det har med sant/usant - verdier å gjøre, så de metodene skal svare på et eller annet spørsmål. Noe slikt: public boolean erKongHarald() { if (this.name.equals("Harald") && this.stilling.equals("Konge") ) { return true; } else { return false; } } Legg merke til at du også kan gjøre dette, som er foretrukket (men kanskje vanskeligere å lese om du ikke er helt stø på hva slags verdier man får fra ting): public boolean erKongHarald() { return (this.name.equals("Harald") && this.stilling.equals("Konge") ); } Du bruker this feil. Lenke til kommentar
Gjest Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 (endret) Hvordan bruker han this feil H5N1? Jeg har brukt det i objekt-klasser selv. EDIT: Nå skal det sies at jeg ikke er noen stødig java-programmerer, bare nysgjerrig Endret 23. oktober 2012 av Gjest Lenke til kommentar
H5N1 Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 public boolean erKongHarald() { return (name.equals("Harald") && stilling.equals("Konge") ); } Ingen behov for this. Lenke til kommentar
Djn Skrevet 23. oktober 2012 Del Skrevet 23. oktober 2012 (endret) Du bruker this feil. Ikke så mye "feil" som "unødvendig" - det vil fungere, men jeg er enig i at det kun gjør det vanskeligere å lese. (Det begynner å bli en stund siden jeg skrev java sist.) Redigert ut nå. Endret 23. oktober 2012 av Djn Lenke til kommentar
Mads-b Skrevet 22. november 2012 Del Skrevet 22. november 2012 (endret) public boolean erKongHarald() { return (name.equals("Harald") && stilling.equals("Konge") ); } Ingen behov for this. Ikke enig. This er utrolig bra i større kodebaser, da man straks ser at man jobber på intern state, og ikke parametere eller lokale variable. Å konsekvent bruke this er ansett som god kodestil om du ikke har en alternativ naming scheme på parametre og lokale variabler, som for eksempel _var. EDIT: Men, selvsagt, i dette tilfellet er det ingen behov for det, da koden er så simpel at this kun blir ekstra støy. Endret 22. november 2012 av Mads-b Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå