tranceftw
Gebruiker
- Lid geworden
- 6 apr 2009
- Berichten
- 149
Ik ben bezig met aan klasse te ontwerpen die ervoor zorgt dat je alle getallen van 1 tot 10 kan vragen, zonder dat hij twee keer hetzelfde getal geeft.
Hieronder zie je wat ik al heb. Echter zit ik met een probleem.
while(nummers[getal] != null)
==> operator != cannot be applied to int, nulltype.
Ik dacht dat dat wel zou werken, maar blijkbaar dus niet. Hoe kan ik dan wel checken of er nu al dan niet al een int in een Array is gestoken? De bedoeling van de while-lus is dus eingelijk gewoon dat hij, zolang er een waarde in een bepaald deel van de Array zit, hij moet kijken of het nieuwe getal niet overeenkomt met dat getal. M.a.w. Hij loopt heel de Array af om te kijken of 'nextNumber' al deel uitmaakt van die Array of niet.
Ik hoop dat iemand me kan helpen. Of zit er misschien al een standaarwaarde in ieder element van de Array als je een nieuwe Array instelt?
grts en alvast bedankt:
de code:
Hieronder zie je wat ik al heb. Echter zit ik met een probleem.
while(nummers[getal] != null)
==> operator != cannot be applied to int, nulltype.
Ik dacht dat dat wel zou werken, maar blijkbaar dus niet. Hoe kan ik dan wel checken of er nu al dan niet al een int in een Array is gestoken? De bedoeling van de while-lus is dus eingelijk gewoon dat hij, zolang er een waarde in een bepaald deel van de Array zit, hij moet kijken of het nieuwe getal niet overeenkomt met dat getal. M.a.w. Hij loopt heel de Array af om te kijken of 'nextNumber' al deel uitmaakt van die Array of niet.
Ik hoop dat iemand me kan helpen. Of zit er misschien al een standaarwaarde in ieder element van de Array als je een nieuwe Array instelt?
grts en alvast bedankt:
de code:
Code:
import java.util.ArrayList;
import java.util.Random;
public class RandomGenerator
{
private int[] nummers;
int index;
int getal;
public RandomGenerator()
{
nummers = new int[10];
getal = 0;
index = 0;
}
public int getNextNumber()
{
Random random = new Random();
int nextNumber = random.nextInt(9);
while(nummers[getal] != null)
{
if(nummers[getal] == nextNumber)
{
getal = 0;
nextNumber = random.nextInt(9);
}
else if(nummers[getal] != nextNumber)
{
getal++;
}
}
int finalNumber = nextNumber;
nummers[index] = finalNumber;
index++;
return nextNumber;
}
}