Toon posts:

[Java] array van random nummers

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo mensen,

Ik moet een array hebben van lengte 256, met erin alle integers van 0 tot 255, maar dan wel in random volgorde. Hoe moet ik dat doen?

Groet,
Varis

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 26-04 09:25

pjvandesande

GC.Collect(head);

code:
1
2
3
4
5
6
int[] randomNumbers = new int[256]
Random rnd = new Random();
for(int i = 0; i < randomNumbers.length; i++)
{
     randomNumbers[i] = rnd.NextDouble() * 256;
}


Zo iets. Voor details van de Random class, zie http://java.sun.com/j2se/...api/java/util/Random.html

[ Voor 29% gewijzigd door pjvandesande op 02-11-2005 10:08 ]


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 19:25
Op deze manier kan je toch meerdere keren dezelfde waarde in je array krijgen? Dat is niet wat de topic starter wil. Ik denk dat je beter eerst een array kan maken met alle waardes van 0 tot 255, en deze op een of andere manier "desorteren".

Roomba E5 te koop


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
kijk hier eens naar:
http://gathering.tweakers...&where=Dit+forum#hitstart

je bent niet de eerste die dit wil. dat de taal ander is zou niet veel uit moeten maken, de structuur blijft hetzelfde

@questa.. het is vaak de bedoeling dat een topic starter ook wat leert.
domweg code copy pasten kan iedereen, en dan word het ook al gauw een scriptrequest (hoewel de TS daar niet om vroeg)

[ Voor 26% gewijzigd door BasieP op 02-11-2005 10:12 ]

This message was sent on 100% recyclable electrons.


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 26-04 09:25

pjvandesande

GC.Collect(head);

sig69 schreef op woensdag 02 november 2005 @ 10:09:
Op deze manier kan je toch meerdere keren dezelfde waarde in je array krijgen? Dat is niet wat de topic starter wil. Ik denk dat je beter eerst een array kan maken met alle waardes van 0 tot 255, en deze op een of andere manier "desorteren".
Had ik even niet begrepen, maar inderdaad:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ArrayList arrayList = new ArrayList(256);
for(int i = 0; i < arrayList.length; i++)
{
     arrayList[i] = i;
}

int[] randomNumbers = new int[256];
Random rnd = new Random();

for(int i = 0; i < randomNumbers.length; i++)
{
     int index = rnd.NextDouble() * arrayList.length;
     randomNumbers[i] = arrayList[ index ];
     arrayList.RemoveAt( index );
}


Dan zo iets?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

Gewoon een java.util.List vullen met de waardes 0-255 dan dan :

Java:
1
2
3
4
5
List numbers = new ArrayList(256);
for (int i=0; i<numbers.size(); i++) {
  numbers.add(new Integer(i);
}
Collections.shuffle(numbers);

Zie ook: Collections

[ Voor 6% gewijzigd door momania op 02-11-2005 10:24 . Reden: loop tot numbers.size() ipv 255 :X ]

Neem je whisky mee, is het te weinig... *zucht*


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 26-04 09:25

pjvandesande

GC.Collect(head);

BasieP schreef op woensdag 02 november 2005 @ 10:11:
@questa.. het is vaak de bedoeling dat een topic starter ook wat leert.
domweg code copy pasten kan iedereen, en dan word het ook al gauw een scriptrequest (hoewel de TS daar niet om vroeg)
Volgens mij is zulke code aardig self-explaning ;)
momania schreef op woensdag 02 november 2005 @ 10:17:
Java:
1
2
3
4
5
List numbers = new ArrayList(256);
for (int i=0; i<255; i++) {
  numbers.add(new Integer(i);
}
Collections.shuffle(numbers);
Oke, er is dus gewoon een shuffle method :)

[ Voor 32% gewijzigd door pjvandesande op 02-11-2005 10:19 ]


Verwijderd

momania schreef op woensdag 02 november 2005 @ 10:17:
Java:
1
2
3
4
5
List numbers = new ArrayList(256);
for (int i=0; i<256; i++) {
  numbers.add(new Integer(i);
}
Collections.shuffle(numbers);
zo zie je maar hoe snel bugs ontstaan. numbers.size() is daarom eigelijk nog handiger in de for-loop

[ Voor 18% gewijzigd door Verwijderd op 02-11-2005 10:21 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 26-04 10:42

momania

iPhone 30! Bam!

questa schreef op woensdag 02 november 2005 @ 10:17:
Oke, er is dus gewoon een shuffle method :)
Idd, ken je Collections Framework ;)

Bijna alles wat je maar met een lijst/collections zou willen doen, kan je wel doen met het Framework :)
Verwijderd schreef op woensdag 02 november 2005 @ 10:19:
[...]

zo zie je maar hoe snel bugs ontstaan. numbers.size() is daarom eigelijk nog handiger in de for-loop
:X :D
Ik heb het maar even ge-edit voor de goede orde :)

[ Voor 35% gewijzigd door momania op 02-11-2005 10:25 ]

Neem je whisky mee, is het te weinig... *zucht*


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Varis, het is heel leuk dat je nu geholpen bent, maar hier in Programming & Webscripting verwachten we toch echt wat meer van een topicstart dan alleen een vraag. Lees P&W FAQ - De "quickstart" even door alvorens je een eventueel nieuw topic start.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.