Forum: java hjälp!

Forum huvudsida -> Programmering -> java hjälp!

Sidor: 1

Till botten

WreHn 12:17 - 11:a April 2007 | Post #1
Medlem
Inlägg: 1


Skicka PM
Behöver hjälp med följande uppgift, sitter fast helt. Gärna förslag på kod.




Skriv klasser som representerar frågor av olika slag. Följande tre sorters frågor skall finnas:



Mattefrågor, rätt svar ett tal. Exempel:



Vad blir 8
  • 7 EUR" 17?



Ja/Nej-frågor, rätt svar en boolean. Exempel:



,,r solen en stjärna?



Flervalsfrågor, rätt svar en bokstav. Exempel:



Vilket land är störst?



A Norge

B Sverige

C Finland

D Danmark



Olika flervalsfrågor skall kunna ha olika många svarsalternativ (ibland fyra som i exemplet ovan, ibland kanske tre eller fem EUR).



Frågeklasserna skall ligga i en hierarki med en superklass innehållande allt som är gemensamt för de olika sorternas frågor och subklasser för var och en av frågesorterna innehållande det som är specifikt för respektive klass.



Frågetexten (inklusive svars_alternativen om det är en flervalsfråga) skall kunna returneras som en String med toString-metoden (för att kunna skrivas ut EURnånstansEUR). Det skall inte finnas några utskriftsprogramsatser i själva frågeklasserna.



Frågeklasserna skall dessutom ha en metod som kollar om ett svar är korrekt eller inte. Denna metod skall få en textsträng som argument och returnera en boolean (true om frågan blev korrekt besvarad, annars false). Att den skall ta en textsträng som argument beror dels på att det är enklast att läsa in textsträngar och dels på att man vill att det skall fungera likadant oavsett vilken sorts fråga det är. Argumentet skall alltså vara en String där man hanterar texten olika beroende på vilken sorts fråga det är (är det en mattefråga görs den om till ett tal, är det en flervalsfråga tar man ut första tecknet, är det janejfråga kontrolleras om användaren svarat EURJaEUR eller EURNejEUR).



Ett frågeobjekt får lämpligen sitt innehåll (frågetexten, eventuella svarsalternativ samt korrekt svar) via konstruktorn vid skapandet. Ovanstående frågor skapas ungefär så här:



Question q1 = new MatteQuestion(EURVad blir 8
  • 7 EUR" 17?EUR, 39);

Question q2 = new JaNejQuestion(EUR,,r solen en stjärna?EUR, true);

String[] svaren={EURNorgeEUR, EURSverigeEUR, EURFinlandEUR, EURDanmarkEUR};

Question q3 = new FlerValsQuestion(EURVilket land är störstEUR, svaren, EUR(TM)BEUR(TM));





Det är enklast att skapa flervalsfrågor i två steg: skapa först en sträng-array med svarsalternativen. Denna array skickas till frågeobjektets konstruktor vid skapandet. Obs att svarsalternativen inte ska innehålla bokstavsbeteckningarna A, B, C etc. (det står EURNorgeEUR och inte EURA NorgeEUR) EUR" A, B, C etc. läggs till i toString-metoden.



Testa att frågeklasserna fungerar som de ska genom att i ett main skapa ett antal frågeobjekt (några av varje sort) och låt en användare svara på frågorna. Testa om svaren är korrekta eller inte samt skriv ut hur många rätt det blev. Dialogen skulle t.ex. kunna se ut så här:



Vad blir 8
  • 7 EUR" 17?



Ditt svar: 43

Fel svar.



,,r solen en stjärna?



Ditt svar: Ja

Korrekt svar!



Vilket land är störst?



A Norge

B Sverige

C Finland

D Danmark



Ditt svar: B

Korrekt svar!



Vad blir roten ur 86 EUR" 22?



Ditt svar: 8

Korrekt svar!



Vem är starkast?



A Modesty Blaise

B Xena

C Pippi Långstrump



Ditt svar: B

Fel svar.



Har taxar lång svans?



Ditt svar: Ja

Fel svar.



Du fick 3 rätt av 6 möjliga.


Tacksam för svar!






FunkyChicken 13:01 - 11:a April 2007 | Post #2
Nyhetsredaktör
Inlägg: 800


Skicka PM
Suck.

Vi hjälper gärna till, det är inte det - men du måste vara lite mer specifik.

Vad är det du har problem med? Hur man gör en klass? Hur man ärver från abstrakta klasser? Hur du ska implementera "olika många svarsalternativ"?
Vill du ha hjälp med att göra en OOA/OOD på ren svenska eller ett exempel i javakod?

I detta fall kan du börja med att berätta VAR du sitter fast.

Sannolikheten att nån sätter sig och gör hela din skoluppgift är rätt låg (och tur är väl det), men återkom gärna med ett avgränsat problem!





Slash 19:08 - 11:a April 2007 | Post #3
Medlem
Inlägg: 141


Skicka PM
,,r det den här kursen du läser eller http://www.dsv.su.se/courses/pm2/dsv1p2/vt07/assig/d1a.html ? Skulle kunna anses som fusk att du försöker få svar på dina inlämningsuppgifter utan att själv lyft ett finger genom att posta den på diverse forum. Det kan på universitetsnivå ge dig avstängning om det anmäles till disciplinnämnden. Om du har försökt själv och har ett välavgränsat och specifikt problem så är det ju en annan sak.

-------------------------
Ingen sigantur!



Sidor: 1

Forum huvudsida -> Programmering -> java hjälp!
Atom feed

Du får inte posta i den här tråden | Till toppen