Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么不是';这不是我的循环吗?我的for循环行被认为是死代码_Java_For Loop - Fatal编程技术网

Java 为什么不是';这不是我的循环吗?我的for循环行被认为是死代码

Java 为什么不是';这不是我的循环吗?我的for循环行被认为是死代码,java,for-loop,Java,For Loop,我不确定为什么Eclipse说“I++”是死代码,为什么我没有被递增 for(int i = 0; i < holdings.length; i++) { if(holdings[i].holdingID.equals(userHoldingIDInput) == true) { holdings[i].print(); S

我不确定为什么Eclipse说“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;
                }
            }
for(int i=0;i

有人能向我解释一下我做错了什么以及解决办法吗?谢谢大家!

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

if (...) {
  // ...
  return;
} else {
  // ...
  return;
}
因此,
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;
                }
            }
请注意,a的一般结构是:

即:

所以,如果
语句
无条件返回,
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.
for(int i=0;i
条件中的两个分支都以返回结尾:

if (...) {
  // ...
  return;
} else {
  // ...
  return;
}
因此,
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;
                }
            }
请注意,a的一般结构是:

即:

所以,如果
语句
无条件返回,
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.
for(int i=0;i
您正从这两种状态返回。
i++将在循环的下一次迭代中得到求值。因为这永远不会发生,所以您的IDE建议它是一个死代码。

您将从这两种情况返回。
i++将在循环的下一次迭代中得到评估。因为这永远不会发生,所以您的IDE建议它是一个死代码。

Oooooh。我添加了退货,因为我认为它解决了我之前遇到的一个问题,但它只会造成另一个问题。非常感谢。尽管您不知道我打算对代码做什么,但将else分支放在for循环之外并将返回保留在if语句中实际上修复了我的程序中遇到的一些其他问题,因此再次感谢您@史密斯:不客气。请考虑接受这个答复。我添加了退货,因为我认为它解决了我之前遇到的一个问题,但它只会造成另一个问题。非常感谢。尽管您不知道我打算对代码做什么,但将else分支放在for循环之外并将返回保留在if语句中实际上修复了我的程序中遇到的一些其他问题,因此再次感谢您@史密斯:不客气。请考虑接受答案。注意:<代码>如果(某物=真)<代码>是多余的:你可以只写<代码>(某物)< /代码>。@安迪特纳,我忘了删除它,谢谢。注意:<代码>如果(某物=真)<代码>是多余的:你可以只写<代码>(某物)< /代码>。@安迪特纳,我忘了删除它,谢谢。