如何在填充数组时从随机方法中排除特定数字
我正在寻找一种从随机方法填充数组中排除一个数字的解决方案。我编写了以下代码,但我不想使用“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;
}
I'm looking for a solution for exclude one number from Random method filling an array. I wrote a following code but instead of using "i--" I would like to use while statement. Does anyone have an idea how to handle it?
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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以生成一个 0(含)到 10(不含)之间的随机整数,然后“移动”这些值以省略 5。
(编辑:显示包括循环的完整代码。)
编辑 2 :OP 想要一个重新生成
randomNumber
直到它不是 5 的解决方案:You could generate a random integer between 0 (inclusive) to 10 (exclusive) and then "shift" the values to omit 5.
(EDIT: Show full code including the loop.)
EDIT 2: OP wants a solution that regenerates
randomNumber
until it is not 5: