Heb een vraagje, waarschijnlijk vrij eenvoudig, maar het blijkt maar weer dat mijn Java-kennis niet echt optimaal is. (heb ook uitgebreid de search bekeken, maar de oplossingen die daar geboden werden waren niet op mij van toepassing.)
Ik heb een array waarin ik 16 random getallen tussen 1 en 16 zet. Dat lukt, alleen het probleem is dat er getallen zijn die vaker voorkomen (wat ik niet wil hebben).
Hierboven de methode voor random-getallen en deze worden in het array gezet door op de knop te drukken.
Door middel van een paint methode worden ze op het scherm getoond
Hierin maak ik dus ook een vergelijking of het getal al in het array getallenReeks[] voor komt. Door die return false komen er geen dubbele getallen in te staan, maar... het array is ook niet volledig gevuld, omdat ie bij constatering van een dubbel getal eruit springt. Oftewel, hoe krijg ik het array dan nog verder gevuld met de andere nog niet voorkomende getallen.
Of is er een eenvoudigere manier om dit op te lossen ??
Ik heb een array waarin ik 16 random getallen tussen 1 en 16 zet. Dat lukt, alleen het probleem is dat er getallen zijn die vaker voorkomen (wat ik niet wil hebben).
code:
1
2
3
4
5
6
7
| public int randomGetal()
{
r1 = Math.random();
r1 = 16 * r1 + 1;
int getal = (int) r1;
return getal;
} |
Hierboven de methode voor random-getallen en deze worden in het array gezet door op de knop te drukken.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public boolean action ( Event e, Object o)
{
if ( e.target == knop )
{
for(int i = 0; i< 16; i++)
{
getal = randomGetal();
for (int a = 0; a < getallenReeks.length; a++)
{
if (getal == getallenReeks[a])
{
return false;
}
}
getallenReeks[i]=getal;
repaint();
}
}
return false;
}
} |
Hierin maak ik dus ook een vergelijking of het getal al in het array getallenReeks[] voor komt. Door die return false komen er geen dubbele getallen in te staan, maar... het array is ook niet volledig gevuld, omdat ie bij constatering van een dubbel getal eruit springt. Oftewel, hoe krijg ik het array dan nog verder gevuld met de andere nog niet voorkomende getallen.
Of is er een eenvoudigere manier om dit op te lossen ??