Article View: nl.comp.programmeren
Article #433Re: hulp gevraagd voor een methode.
From: Kristoffel
Date: Mon, 17 May 2004 17:41
Date: Mon, 17 May 2004 17:41
86 lines
4167 bytes
4167 bytes
Passero wrote:
> Voor een programma in java moet ik een quiz maken. Het is een quiz die
> vragen stelt over klimatogrammen. Die klimatogrammen zitten in onze
> database. Alles wordt @ random gegenereerd. Je kan altijd kiezen tussen 3
> antwoorden. Ik zit met het probleem dat wanneer ik de 2 foutieve antwoorden
> genereer, ze niet altijd verschillend zijn. Ik had eens geprobeerd om de
> testen of de 2 antwoorden gelijk zijn en om zo met een while te werken maar
> het loopt altijd vast. Ik heb die code nu verwijderd dus die methode kan ik
> niet meer tonen :s. Ik kan wel de methode geven die niet controlleerd of er
> dubbele zijn. Kan iemand mij daarin helpen?
>
> private void maakNeerslagAntwoord()
> {
> String temp;
> double waarde;
> antwoorden = new String[2];
> boolean test = false;
> for(int i = 0; i < 2;i++)
> {
> test=false;
> while (test == false)
> {
> temp = Maanden.getRandomMaand();
> if (!temp.equals(maand))
> {
> waarde = gegevens.geefNeerslag(Maanden.geefMaandNummer(temp));
> antwoorden[i] = Double.toString(waarde);
> test = true;
> }
> }
> }
> }
>
> Maanden.getRandomMaand(); is een methode die een string teruggeeft die een
> naam van een maand is. de methode geefNeerslag gaat gewoon de
> neerslaghoeveelheid halen uit een bepaalde klimatogram. Ik denk dat de rest
> duidelijk is.
>
private void maakNeerslagAntwoord()
{
String temp;
double waarde;
antwoorden = new String[2];
String randomMaand = null;
// boolean test = false;
for(int i = 0; i < 2;i++)
{
while (!(temp = Maanden.getRandomMaand()).equals(randomMaand)) {
waarde = gevens.geefNeerslag(Maanden.geefMaandNummer(temp));
antwoorden[i] = Double.toString(waarde);
randomMaand = temp;
break;
}
}
}
Als je niet het risico wilt lopen dat 'getRandomMaand' steeds dezelfde
maand teruggeeft (en dit gedurende enkele seconden) kies dan voor de
oplossing van Sander Bruggink:
private void maakNeerslagAntwoord()
{
String temp;
double waarde;
antwoorden = new String[2];
String randomMaand = null;
// boolean test = false;
for(int i = 0; i < 2;i++)
{
if (!(temp = Maanden.getRandomMaand()).equals(randomMaand)) {
randomMaand = temp;
} else {
int maandNr = Maanden.geefMaandNummer (temp) + 1;
temp = Maanden.geefMaandNaam(((maandNr == 13) ? 1 : maandNr));
}
waarde = gevens.geefNeerslag(Maanden.geefMaandNummer(temp));
antwoorden[i] = Double.toString(waarde);
}
}
Ik vermoed dat je wel een methode 'geefMaandNaam (int i)' zult hebben.
Als januari de maandnummer nul is, moet je de code aanpassen.
--
Kristoffel
Technical Details
Message-ID:
<0P6qc.113001$6D2.6416475@phobos.telenet-ops.be>Path:
arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!ecngs!feeder.ecngs.de!feed1.news.be.easynet.net!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mailReferences:
<ck3qc.112749$hn7.6326407@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,d50f0124721ec774 X-Google-Thread: fcea4,d50f0124721ec774 X-Google-Attributes: gid107324,gidfcea4,public Path: arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!ecngs!feeder.ecngs.de!feed1.news.be.easynet.net!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail From: Kristoffel <kdg1955@yahoo.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: nl.comp.programmeren,be.comp.programming Subject: Re: hulp gevraagd voor een methode. References: <ck3qc.112749$hn7.6326407@phobos.telenet-ops.be> In-Reply-To: <ck3qc.112749$hn7.6326407@phobos.telenet-ops.be> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lines: 86 Message-ID: <0P6qc.113001$6D2.6416475@phobos.telenet-ops.be> Date: Mon, 17 May 2004 17:41:16 GMT NNTP-Posting-Host: 195.130.140.134 X-Complaints-To: abuse@telenet.be X-Trace: phobos.telenet-ops.be 1084815676 195.130.140.134 (Mon, 17 May 2004 19:41:16 MEST) NNTP-Posting-Date: Mon, 17 May 2004 19:41:16 MEST Organization: Telenet Internet