【发布时间】:2021-01-05 21:06:08
【问题描述】:
我目前正在学习 Java 入门级编程课程。我有一个函数应该从口袋妖怪列表中随机选择两个随机不同的口袋妖怪。起初,代码不起作用,只是无限地重复执行while循环。我在 println 语句中添加了用于调试的功能,突然该功能完美运行。 函数如下所示:
public boolean addRandomPokemon()
{
boolean runCheck = true;
boolean canUse = true;
while (runCheck)
{
int rand = Randomizer.nextInt(3);
for (int i = 0; i < pokeDeck.size(); i++)
{
System.out.println();
if(pokeDeck.get(i).getName().equals(POKEMON_NAMES[rand]))
{
canUse = false;
}
}
if (canUse)
{
Pokemon poke = new Pokemon(POKEMON_NAMES[rand]);
pokeDeck.add(poke);
runCheck = false;
}
}
return true;
}
其中整数 rand 是一个随机整数 (0,3)。任何人都可以解释为什么会发生这种情况,并为这个问题提供更好的解决方案。简单的解释是首选,因为我在编程方面不是很有经验。 谢谢!
【问题讨论】:
-
欢迎您。您以一种很好的方式发布了您的问题;)
-
您从哪个包中使用随机发生器?
-
Randomizer 是作为作业的一部分创建的类
标签: java arrays loops infinite println