IT

Datamatiker programmering

07. oktober 2014 af Tdata (Slettet) - Niveau: A-niveau

er blevet stillet disse opgaver

og er helt lost i begge to

Opgave 1 (klasser og objekter):

Lav en klasse Box med int variablene height, width, length.

Box klassen skal have en constructor Box(), der sætter height, width og length=0, og en constructor Box(int h, int w, int l), der sætter height=h, width=w og length=l.

Tilføj get- og set-metoder til variablene.

Desuden skal der lave en metode getSize(), der returnere rumfanget (height*width*length).

Tilføj metoden toString(), der returnerer en string med højde, bredde, længde og rumfang.

F.eks. "5 x 4 x 5 = 100"

Lav et program, der opretter et objekt (box1) af klassen Box (uden at kalde med parametre, således at den første constructor benyttes) samt et objekt (box2) af klassen Box med height=3, width=4, length=6 (således at den anden constructor benyttes).

Sæt height=2, width=3, length=11 på box1 vha. set-metoderne. Udskriv hvilken box, der er størst og hvor meget den er større end den anden box.

Sæt height til et tilfældigt tal i intervallet (3 - 6) på box1. Udskriv hvilken box, der er størst og hvor meget den er større end den anden box.

Sæt length til et tilfældigt tal i intervallet (4 - 8) på box1. Udskriv hvilken box, der er størst og hvor meget den er større end den anden box.

Udskriv box1 og box2 vha. deres toString-metoder.

Opgave 2 (GUI, kontrolstrukturer og arrays):

Opret en JFrameForm, med to JTextAreas, og to JButtons.

Lav et String array med 52 pladser. Lav en int variabel cards til at holde styr på hvor mange strings, der er i arrayet.

Benyt kontrolstrukturer til at fylde arrayet op med strings svarende til de 52 forskellige spillekort ("klør 2", "klør 3"..."spar konge", "spar es"). Sæt cards = 52.

Lav en metode shuffleCards(), der blander kortene. (Dette kan gøres på mange forskellige måder. Man kan f.eks. splitte bunken op et tilfældigt sted og bytte om på de to dele af bunken, eller flette dem sammen. Og så gentage så mange gange at kortene er godt blandet. Man kan også bytte om på to tilfældige kort i bunken en masse gange. Og selvfølgelig kan man kombinere metoderne.)

Lav en metode deal(), der returnerer øverste kort fra bunken. Fjern kortet fra bunken og tæl cards en ned. Hvis der ikke er flere kort i bunken, skal metoden returnere "Bunken er tom!".

Tilføj kode til den ene knap, så shuffleCards() kaldes hvis cards = 52.

Tilføj kode til den anden knap, så den deler 5 kort ud til hvert JTextArea vha. deal(), som udskriver kortene med linieskift efter hvert kort. Lav metoden så den skifter mellem jTextArea1 og jTextArea2, således at først får jTextArea1 et kort, så får jTextArea2 et kort osv. indtil de har fået 5 kort hver.

nogen der kan hjælpe mig? 

er kommet lidt igang med opgave 1, men i opgave 2 er jeg på bar bund.. 


Brugbart svar (0)

Svar #1
09. oktober 2014 af hesch (Slettet)

For god ordens skyld, bør du angive,i hvilket sprog du programmerer: Der findes en række objektorienterede sprog.

Fordelen ved softwareudvikling er, at du har "hjælpere" i form af en compiler, der fejlmelder/adviserer om syntaksiske fejl, og en debugger, der viser dig hvad programmet udfører. Mit råd er: skriv med arme og ben, tilret syntaksen, test og lav ændringer indtil det kører.

Start simpelt, med funktioner der blot skriver "blander kort" eller "uddeler kort", osv. Når denne "struktur" kører, skifter du indholdet i disse funktioner ud, således at de rent faktisk blander kort og uddeler kort. ( Top-down udvikling ).

Det er en "cut and try" proces, hvor indlæringshastigheden er langt større, end at kommunikere her på portalen, hvor du til gengæld kan spørge konkret om ting som: Hvad forstås ved en "method", eller hvad er en "klasse" ?


Skriv et svar til: Datamatiker programmering

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.