waarde in niet-gedeclareerd Arrayelement?

Status
Niet open voor verdere reacties.

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:



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;
    
    

}
}
 
Ah sorry, er ging wat verkeerd vanmiddag en toen ik klikte stond het er niet op dus deed ik het nogmaals. Blijkbaar was het toch gelukt.

Mijn excuses.
 
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?

Zo uit mijn hoofd gezegd is een int een primitive type en kan dus niet null zijn.
Wil je dat dit wel mogelijk is, moet je em declareren als
Code:
nummers = new Integer[10]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan