java - 如何生成三个不相等的数字?
问题描述
这里的数字生成:
for( int i=0; i<3; i++) {
int randomNumbers = random.nextInt(10) + 1;
}
在这里我可以收到相同的数字。
例如:5,7,5
;
但我只需要收到不同的号码:5,1,9
.
有没有可能用一些小代码或者我应该为它写一些方法?
解决方案
您可以使用Set
仅包含唯一值的 a :
Set<Integer> randomInts = new HashSet();
while(randomInts.size() < 3) {
randomInts.add(random.nextInt(10) + 1);
}
当然,您需要面对过采样,但如果性能不是最重要的,这种方法很容易扩展。
推荐阅读
- amazon-web-services - 同时假设多个角色
- firebase - Flutter - 尝试使用 void 函数返回字符串
- r - 如何使用代码在 Rstudio 中保存绘图?
- javascript - Vee-validate Basic 示例不起作用 - 未定义错误
- javascript - 如何在nodejs中释放指针变量?
- dns - AWS Route 53 域的 AWS SES 验证失败
- azure-functions - 是否可以在 Azure Functions 中托管 ServiceStack 项目?
- c++ - 将 LibRaw 链接到共享对象时出错
- aws-sdk - AWS .NET SDK 何时加载凭证文件?它是在启动时还是在初始化客户端或......?
- python-3.x - Anaconda 终端错误 pywin32_bootstrap