I have the following code:
public void generateRandomQuadrant() {
currentMinute = FIRST_MIN;
randomQuadrant = quadSelector.nextInt(4) + 1;
while (randomQuadrant == lastQuadrant1
|| randomQuadrant == lastQuadrant2
|| randomQuadrant == lastQuadrant3
) {
randomQuadrant = quadSelector.nextInt(4) + 1;
}
switch (quadrantCounter) {
case 0:
lastQuadrant1 = randomQuadrant;
break;
case 1:
lastQuadrant2 = randomQuadrant;
break;
case 2:
lastQuadrant3 = randomQuadrant;
break;
case 3:
lastQuadrant4 = randomQuadrant;
break;
}
quadrantCounter++;
}
public void generateRandomQuadrant2Min() {
currentMinute = SECOND_MIN;
randomQuadrant2Min = quadSelector.nextInt(4) + 1;
while (randomQuadrant2Min == lastQuadrant4
|| randomQuadrant2Min == lastQuadrant5
|| randomQuadrant2Min == lastQuadrant6
|| randomQuadrant2Min == lastQuadrant7
) {
randomQuadrant2Min = quadSelector.nextInt(4) + 1;
}
switch (quadrantCounter2Min) {
case 0:
lastQuadrant5 = randomQuadrant2Min;
break;
case 1:
lastQuadrant6 = randomQuadrant2Min;
break;
case 2:
lastQuadrant7 = randomQuadrant2Min;
break;
case 3:
lastQuadrant8 = randomQuadrant2Min;
break;
}
quadrantCounter2Min++;
}
Basically, I randomly select a quadrant in each minute without repeating them. However, when the second minute starts, that is where my problem is; I would like to start the process over again, but without repeating lastQuadrant4 in the first 15 minutes of the second run. Unfortunately, the second method runs in an infinite loop, bouncing around between quadrants.
Is there anything I am doing wrong here?
Aucun commentaire:
Enregistrer un commentaire