gpt4 book ai didi

java - 为什么我的 for 循环不循环?我的 for 循环行被认为是死代码

转载 作者:行者123 更新时间:2023-11-29 07:34:39 24 4
gpt4 key购买 nike

我不确定为什么 Eclipse 说“i++”是死代码以及为什么 i 没有递增。

for(int i = 0; i < holdings.length; i++)
{
if(holdings[i].holdingID.equals(userHoldingIDInput) == true)
{
holdings[i].print();
System.out.println();
return;
}
else
{
System.out.println("The Holding ID you entered was not found,"
+ " please try again." + "\n");
return;
}
}

有人可以向我解释我做错了什么和解决方案吗?谢谢!

最佳答案

条件中的两个分支都以返回结束:

if (...) {
// ...
return;
} else {
// ...
return;
}

所以 i++ 永远不会递增。

请注意 basic for statement 的一般结构是:

for ( ForInit ; Expression ; ForUpdate ) Statement

这是equivalent to the while loop :

{
ForInit;
while (Expression) {
Statement;
ForUpdate;
}
}

所以如果 Statement 无条件返回,ForUpdate 永远不会执行,因此它被正确识别为死代码。


我不确定你到底打算做什么,但我认为你的 else 分支实际上应该在循环之外:

for(int i = 0; i < holdings.length; i++) {
if (holdings[i].holdingID.equals(userHoldingIDInput)) {
// ...
return;
}
}
System.out.println("The Holding ID you entered was not found,"
+ " please try again." + "\n");
return; // Might be unnecessary; depends upon what follows.

关于java - 为什么我的 for 循环不循环?我的 for 循环行被认为是死代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37482933/

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