gpt4 book ai didi

java - ID生成方法陷入循环

转载 作者:行者123 更新时间:2023-12-02 09:06:42 33 4
gpt4 key购买 nike

我使用以下方法生成 ID 号。它从数字 0 开始,并将其与数组中所有现有对象的 ID 号进行比较,如果它不等于任何对象,则应返回该 ID 号并跳出循环。如果它确实等于任何对象,它将 + 1 并将 1 与所有对象的 ID 号进行比较,直到找到不匹配/未使用的数字。

然而,当我运行程序时,for 循环无限循环,尽管它是由 boolean 值控制的,当所有对象 ID 都已比较且不匹配时会触发该 boolean 值。这是代码:

 public int GenerateProductID(){

Boolean NewIDFound = false;
Boolean inUse = false;
int potentialID;


for(potentialID=0;NewIDFound==false;potentialID++){

for(Product productToCompare: this.Products){

if (potentialID==productToCompare.getID()){
{inUse=true;}
}
}
if(inUse!=true){
NewIDFound=true;
return potentialID;


}
}
return potentialID;//Had to return something here although the function will never get here.
}

我花了一段时间试图弄清楚这一点,Java 是一项新的尝试,所以如果遗漏了一些明显的东西,请提前道歉。任何有关如何解决此问题的帮助将不胜感激。

最佳答案

inUse表示“当前的潜在ID正在使用中”;因此,需要为每个新的潜在 ID 重置它。

关于java - ID生成方法陷入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59759227/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com