Navido Skrevet 9. november 2005 Del Skrevet 9. november 2005 Hei dere. Kan dere hjelpe meg en ting i denne linken: http://www.rafb.net/paste/results/VYdwoV67.html Jeg driver med en oppgavetekst. Sitter fast med en veldig enkel ting. Men har ikke vært borti det så trenger hjelp. Oppgaveteksten sier følgende for metoden OpprettLegeVakt() : public Lege[] opprettLegeVakt() { < Følgende leger skal jobbe på legevakten: "Kristiansen", "Lie", "Vogt", "Haug" og "Brun". Metoden skal returnere en array som innholder lege-objekter tilsvarende disse legene. Arrayen skal ikke være lengre enn antallet leger. > } Mitt spørsmål: 1. Det jeg gjør er å retunere en array av String. Men jeg ser at skal være av type Lege. Hvordan får jeg til dette? Feilen jeg får er følgende: "PasientMottak.java": incompatible types;found : java.lang.String[],required: Lege[] at line 64, column 14 2. Når det feks står en metode : public Pasient søkPasient( int pNr) { < Metoden skal returnere pasienten som har personnummer lik pNr. Hvis ingen av legene ved legevakten har en slik pasient, skal metoden returnere null. > } dette er av type Pasient. Hva sier dette egentlig? blir litt forvirret når det står Public Pasient. Hva må man være obs på her? Kan noen gi et eksempel for å forstå dette fullt ut. Kanskje jeg må gi noen tilleggsopplysninger. Men bare å si ifra Takk for hjelpen de som svarer Lenke til kommentar
Navido Skrevet 10. november 2005 Forfatter Del Skrevet 10. november 2005 Ingen som kan svare? Lenke til kommentar
XENiTiS Skrevet 10. november 2005 Del Skrevet 10. november 2005 For at de metodene du har listet opp skal funke må du ha opprettet egne klasser for Lege og Pasient. "public Lege[] opprettLegeVakt()" vil ikke funke med mindre du har en klasse Lege som arver String. Det samme gjelder for "public Pasient søkPasient( int pNr)". prøv med "public String[] opprettLegeVakt()", så ser du hva jeg mener. Lenke til kommentar
Navido Skrevet 10. november 2005 Forfatter Del Skrevet 10. november 2005 For at de metodene du har listet opp skal funke må du ha opprettet egne klasser for Lege og Pasient. "public Lege[] opprettLegeVakt()" vil ikke funke med mindre du har en klasse Lege som arver String. Det samme gjelder for "public Pasient søkPasient( int pNr)". Hei du. takk for svar. Jeg har allerede en klasse Lege og en klasse Pasient. Klassen Lege mottar en parameter av typen String. Her er en del av Lege klassen: public class Lege { private String navn; private static final int MAX = 14; //max antall pasienter som legen kan behandle i løpet av en dag private Pasient[] pasienter; //array som kan lagre legens pasienter i løpet av en dag private int antall = 0; //antall pasienter som legen behandler i løpet av dagen private int neste = 0; //indeksen til neste pasient som legen skal behandle public Lege(String n) { navn=n; pasienter=new Pasient[MAX]; antall=0; neste=0; } } //end classe Lege //---------------------------------------- public class Pasient { private String navn; private int personnummer; String diagnose; public Pasient(String n,int p) { navn=n; personnummer=p; diagnose=null; } //end classe Pasient //-------------------------------------------- Hva er feilen i OpprettLegeVakt() metoden? Hva må jeg gjøre? Lenke til kommentar
XENiTiS Skrevet 10. november 2005 Del Skrevet 10. november 2005 (endret) I opprettLegeVakt() metoden har du definert return typen som et array av Lege, men du returnere faktisk et array av String. Hvis du faktisk skal ha et array av Lege, så må du opprette dette i metoden f.eks: public Lege[] opprettLegeVakt() { Lege[] legeNavner= new Lege[5]; legeNavner[0] = new Lege("Kristiansen"); legeNavner[1] = new Lege("Lie"); legeNavner[2] = new Lege("Vogt"); legeNavner[3] = new Lege("Haug"); legeNavner[4] = new Lege("Brun"); return legeNavner; } Alternativt kan du bruke et String array med navn som parameter for metoden f.eks: public Lege[] opprettLegeVakt(String[] navn) { Lege[] legeNavner= new Lege[navn.length]; for (int i=0; i<navn.length; i++) { legeNavner[i] = new Lege(navn[i]); } return legeNavner; } Da vil bruken av metoden bli: String[] navneliste = {"Kristiansen", "Lie", "Vogt", "Haug", "Brun"}; opprettLegeVakt(navneliste) Endret 10. november 2005 av XENiTiS 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å