簡體   English   中英

填充數組時如何從隨機方法中排除特定數字

[英]How to exclude a specific number from random method while filling array

我正在尋找一種解決方案,用於從填充數組的隨機方法中排除一個數字。 我寫了下面的代碼,但我不想使用“i--”,而是想使用 while 語句。 有誰知道如何處理它?

Random random = new Random();
int[] tab = new int[10];
    for(int i=0 ; i<10 ; i++) {
    int randomNumber = random.nextInt(11);
        if(randomNumber == 5) {
            i--;
            continue;
        }
        tab[i] = randomNumber;
}

您可以生成 0(含)到 10(不含)之間的隨機 integer,然后“移動”值以省略 5。

Random random = new Random();
for (int i=0 ; i<10 ; i++) {
    int randomNumber = random.nextInt(10);
    if (randomNumber < 5) {
        tab[i] = randomNumber;
    }
    else {
        tab[i] = randomNumber + 1;
    }
}

編輯:顯示包括循環在內的完整代碼。)

編輯 2 :OP 想要一個重新生成randomNumber直到它不是 5 的解決方案:

Random random = new Random();
for (int i=0 ; i<10 ; i++) {
    int randomNumber;
    while ((randomNumber.nextInt(11)) != 5) {
        tab[i] = randomNumber;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM