Avatar billede brinkoman Nybegynder
14. februar 2002 - 01:50 Der er 7 kommentarer og
1 løsning

Randomisere nogle tal!

Er der nogen der kan overskue hvordan dette problem kan løses:

Jeg har fire tal. De skal alle genereres random så jeg kommer til at få fire forkellige tilfældige tal fra 1-4.

Fx:

2
4
3
1

Jeg ved ikke om spørgsmålet er vel- formuleret/gennemtænkt, for jeg arbejder på nødbrændstoffet...så bær lige over!
Avatar billede Slettet bruger
14. februar 2002 - 01:56 #1
Du må kunne definere 4 variable og randomize hver enkelt.
Avatar billede brinkoman Nybegynder
14. februar 2002 - 02:00 #2
Jamen de skal være forskellige fra hinanden...Der må altså ikke være to tal med samme værdi.
Avatar billede brinkoman Nybegynder
14. februar 2002 - 02:01 #3
Hov...jeg tror jeg har en løsning. Jeg tænker godt nok ikke specielt hurtigt mere...
Avatar billede Slettet bruger
14. februar 2002 - 02:07 #4
ok - men så er det jo en random rækkefølge du skal bruge for tallene er så faste.
Avatar billede disky Nybegynder
14. februar 2002 - 07:28 #5
det er ret nemt.

Du finder et tilfældigt tal, gemmer det i et array af resultater, så finder du et nyt, ser om det er brugt allerede, hvis det ikke er gem det og find et nyt. Hvis det er brugt allerede skal du  blive ved med at finde et nyt tal indtil du finder et der ikke er brugt.
Avatar billede brinkoman Nybegynder
14. februar 2002 - 11:23 #6
Ja det var også det jeg kom til at tænke på. Det virkede bare som en større opgave, så jeg håbede på at der var en eller anden metode så den gjorde det hele selv...
Disky->>Tjek lige http://www.eksperten.dk/spm/172102 igen hvis du gider, for jeg har lidt problemer med CardLayoutet...
Avatar billede carstenknudsen Nybegynder
20. februar 2002 - 14:27 #7
Det er meget lettere at gøre end som så:
int n = 10; // antal tal der skal randomiseres
List list = new ArrayList();
for(int i = 1; i <= n; i++) {
list.add( new Integer( i ) );
} // for
Collections.shuffle( list ); // så er listen godt rodet rundt
for (int i=1; i<=N; i++) {
int j = ((Integer)list.get(i)).intValue(); // j er nu det i'te tilfældige tal
} // for

PS beklager den sene kommentar, men jeg har ikke kunnet
logge ind på eksperten en hel uge (ikke min fejl).
Avatar billede brinkoman Nybegynder
20. februar 2002 - 17:46 #8
mange tak! Jeg har godt nok en anden løsning, men man kan vel altid bruge det en anden gang!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester