Det må være en meget specielt problemstilling du har. Er det 200 som maksimum, med et variabelt antal derunder, vil en ArrayList sikkert også være bedste valg.
Jeg tror jeg blander mig udenom - en skoleopgave af den karat du har fået er sikkert fornuftig nok, men jeg kommer bare til at bruge ting og metoder du ikke har lært, eller "må" bruge.
Muligvis... men vi har lært at lære selv... vi lære også at støtte os meget op af JavaDocs... Desuden så er han MEGA elændig til at formulere opgaver...
Han siger selv vi skal være Skarpe og præsise.. men det kan kun være fordi han ikke er det selv da...
Ok, md, men hvad er så det med "først 200, og hvis de er fyldt op så 200 mere" ? Siger det ikke at det skal være array (for det er groft sagt hvad ArrayList gør automatisk for dig)
Sorry... Det er ikke det jeg mener naturligvis... hvis der kommer over 200 så er det naturligvis et nyt objekt der skal oprettes... et nyt distrikt objekt...
Okay et objekt af klassen distrikt... Men det er ikke desideret tosset.... for der bor 200 forbruger i distrikt nord, 200 i distrikt syd, 200 i vest og lige ledes i øst... og så videre....
Jeg forstod på dig at hvis der så kom forbruger nummer 201 i distrikt nord, skulle man lave et nyt distrikt, til ham, alene.
Det er svært at vide hvad det er jeres opgave skal træne jer i - det med de 200 er måske inderligt ligegyldigt - måske et det klassen "forbruger", der er opgaven, og så er det lidt sjovere hvis der er flere, og de 200 er bare valgt for at gøre den del nem (i betydningen: ikke svær!).
På det lokale fjernvarmeværk ønsker man at få lavet et lille edb-system, som kan anvendes til at afregne fjernvarmeforbruget for de enkelte forbrugere i et distrikt. Afregningen sker én gang om året, idet forbrugeren aflæser måleren og indsender den aflæste værdi til fjernvarmeværket. I objektmodellen indgår to klasser: Distrikt og Forbruger, således at 0 til 200 forbrugere indgår i et distrikt.
1. Første del af opgaven går ud på at programmere klassen Forbruger. Klassen har følgende attributter og metoder:
Attributter navn Navnet på en forbruger. Tekst. målerNr Målernummer for en fjernvarmemåler. Heltal. Målernummer identifi- cerer et forbruger-objekt. nyAflæsning Målerværdien (i kubikmeter varme) ved seneste aflæsning. Heltal. forrigeAflæsning Målerværdien (i kubikmeter varme) ved forrige aflæsning. Heltal. målerMax Maksimal mulig værdi på måler. Når måleren når denne værdi, begynder den forfra fra nul (overløb). Heltal.
Metoder Forbruger Default constructor. Forbruger Constructor, som medtager forbrugerens navn, et målernummer og må- lerens maksimalværdi som parametre. getMålerNr Access metode til datamember målerNr. setNavn Mutator metode til datamember navn. getNavn Access metode til datamember navn. aflæsMåler Som input-parameter har metoden forbrugerens aflæsning af målervær- dien. Metoden skal opdatere datamembers nyAflæsning og forrigeAflæsning. beregnForbrug Metoden skal returnere differencen mellem nyAflæsning og forrigeAflæsning, idet der tages højde for eventuelt overløb af måleren.
Skriv klassedefinitionen for klassen Forbruger, som indeholder ovenfor angivne attributter og metoder.
2. Anden del af opgaven går ud på at programmere klassen Distrikt. Klassen har følgende attributter og metoder:
Attributter navn Distriktets navn. Tekst. prisPrM3 Prisen pr kubikmeter (m3) varme. Decimaltal. forbrugere Her er forbrugerne placeret i distrikt-objektet ved hjælp af en tabel med plads til 200 objekter af klassen Forbruger. antalForbrugere Angiver hvor mange forbrugere, der er oprettet i distriktet. Heltal.
Metoder Distrikt Default constructor. Distrikt Constructor. Navn og pris pr. kubikmeter varme som parametre. setForbruger Opretter en forbruger i distriketet. Har forbrugeren med som parameter. afregnForbruger Metoden skal beregne prisen for et årsforbrug for én forbruger. Metoden har forbrugerens målernummer med som inputparameter og skal returnere prisen. Hvis målernummeret ikke kan findes returneres et negativt tal.
Skriv klassedefinitionen for klassen Distrikt, som indeholder ovenfor angivne attributter og metoder.
3. Tredie del af opgaven går ud på at skrive en testklasse, som aftester klasserne Forbruger og Distrikt.
Opgave formuleringen i #2 antyder ret kraftigt array:
forbrugere Her er forbrugerne placeret i distrikt-objektet ved hjælp af en tabel med plads til 200 objekter af klassen Forbruger. antalForbrugere Angiver hvor mange forbrugere, der er oprettet i distriktet. Heltal.
og måske skal du holde dig til opgave formuleringen !
(i praksis ville jeg sige at der skulle laves en HashMap med forbrugerne, men det er en anden historie)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.