Java for循环只执行一次
代码只执行一次。 免责声明:很清楚这是一个无限循环,以这种方式编写它是解决问题的一部分 更新:我的错误日志中有一个异常得到了修复,问题仍然是一样的,代码只执行一次 我尝试在不同的任务(打印一个句子)的相同代码中使用相同的Java for循环只执行一次,java,loops,for-loop,infinite-loop,Java,Loops,For Loop,Infinite Loop,代码只执行一次。 免责声明:很清楚这是一个无限循环,以这种方式编写它是解决问题的一部分 更新:我的错误日志中有一个异常得到了修复,问题仍然是一样的,代码只执行一次 我尝试在不同的任务(打印一个句子)的相同代码中使用相同的for循环,效果很好,问题一定出在我的JS代码上 for(inti=0;i我只想澄清这一点作为答案,因为我希望这个问题将被删除 for循环不是您的问题。您正在编写有异常的代码,或者正在阻止正在运行的线程。如果您正在使用另一个线程来运行该循环,则缺少UncaughtExceptio
for
循环,效果很好,问题一定出在我的JS代码上
for(inti=0;i我只想澄清这一点作为答案,因为我希望这个问题将被删除
for循环不是您的问题。您正在编写有异常的代码,或者正在阻止正在运行的线程。如果您正在使用另一个线程来运行该循环,则缺少UncaughtExceptionHandler
会使其跳过日志记录。类似地,使用Callable
会导致异常从个人体验中消失(也许出于同样的原因?)
如果您正在阻塞运行它的线程,那么在阻塞方法将控制权返回到您调用它的上下文之前,该线程不会运行任何其他内容
如果你说你有循环“运行一次”的案例但之后仍然打印,我将把它作为一个例外,并且您运行测试的方式是有缺陷的。这可能是由无数原因造成的,例如愚蠢的系统#退出
/运行时#暂停
调用、线程、使用服务运行测试,或者在某些生产环境(如游戏)中运行测试服务器或电话(或…浏览器?)。对于未来的情况,您的问题最好是可以复制的,除了主方法和您提供的代码之外。如果您不能做出这样的示例,至少您应该提供您如何测试它
如果您做了所有这些,但仍然存在问题,我认为这对您来说是显而易见的,或者阅读您的问题的人会更容易回答您的问题。由于引发异常,代码只执行一次,或者您正在进行的一个或多个网络呼叫花费的时间太长,这会使您请相信代码只执行一次
为了确认在for循环中使用的值i+1
没有被1
替换,我在我的机器上运行了以下循环:
for (int i = 0; i < i + 1; i++) {
System.out.println(i);
}
for(int i=0;i
…然后它继续打印从0开始的数字。@YCF\u L这不是真的,如果用一个print(i)语句替换for循环的内容,它不会在1次迭代中停止。为什么中有逗号?”https://www,google.com“
?@Sergio它是否引发异常?也许你在某处捕捉到它,但不记录任何东西?(假设您检查了日志。)@Sergio:您已经声明,如果将for循环替换为while(true)
,则行为相同,因此一定存在某种异常/错误。您可能希望自己删除该问题。这对其他人可能没有帮助。