java - 如何无限地生成随机数,直到它符合Java中的条件?

标签 java random conditional-statements generate

您是否知道如何生成随机对象,直到对象不满足条件为止?

我尝试过这样的:

//Btw getTeam1() is a hashMap of Integer,Fighter (a type of objects that I use)
//randomIndex
Object randomName = this.getTeam1().keySet().toArray()[new Random().nextInt(this.getTeam1().keySet().toArray().length)];
while(this.getTeam1().get(randomName).dontVerifyMyConditionBlabla) {
        randomName = this.getTeam1().keySet().toArray()[new Random().nextInt(this.getTeam1().keySet().toArray().length)];
}

但显然,听起来不太好。有什么建议吗?

最佳答案

尝试do-while循环

verifyMyCondition(){
   //proccess and return true or false
}

do
{
     randomName = this.getTeam1().keySet().toArray()[new Random().nextInt(this.getTeam1().keySet().toArray().length)];
}while(verifyMyConditionthis.getTeam1().get(randomName)))

关于java - 如何无限地生成随机数,直到它符合Java中的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62288490/

相关文章:

java - FirebaseRecyclerAdapter 抛出空对象

c# - 如何在 C# 中生成一个随机命名的文本文件?

python - 生成随机 float ,总和为 1,具有最小值

Python:循环一个字典并在满足条件的情况下在新字典中创建键/值对

javascript - JS : Why Is This Slower? 它不应该测试其他 OR 条件但它确实如此?

c - 程序从字符串(名称)中获取缩写,无法删除所有空格

java - 在 Wicket 中使用参数化 UI 消息的简单方法?

java - 如何强制 JBoss 部署使用特定版本的依赖项而不是已安装的模块?

java - 如何从mysql中的用户那里获取WHERE值

android - 将按钮的位置设置为屏幕上的随机点? - 安卓