【问题标题】:Java loop gets terminated without any errorJava循环被终止而没有任何错误
【发布时间】:2015-10-15 14:33:34
【问题描述】:

我有一个主程序,它使用两个播放器对象并比较它们的结果。它在一个循环中执行 10000 个匹配项。

while(i<10000){
            game.compare(a, b);
            i++;
        }

现在这个循环在内部调用另一个类,该类的代码可以在两个对象之间玩 1000 场游戏。它会打印出我在一场比赛中有更多比赛的人。

这意味着我应该得到 10000 次结果,但我看到我的程序执行并显示了大约 10 次匹配的结果,然后它终止而没有任何错误。

谁能有什么建议,比如哪里出错了??

谢谢。

【问题讨论】:

  • 可能是那个方法修改了i
  • game.compare?如果您需要任何帮助,您将不得不发布minimal reproducible example
  • 每次循环执行时i的值是多少?
  • i 的起始值是多少?注意:如果要循环固定次数,请考虑使用for 循环。

标签: java arraylist comparator


【解决方案1】:

因为我的子类中也使用了相同的 i 值;程序在“i”次迭代后终止,没有任何错误。

这是我的完整实现代码: https://github.com/kakarrot007/RockPaperScissors/tree/master

主程序迭代 3 次,每次迭代都会比较两个玩家的 10 场比赛,并打印每个玩家的总获胜次数。 因此,您将能够看到 3*10 = 30 次比赛。

【讨论】:

    猜你喜欢
    • 2017-06-25
    • 2011-01-12
    • 1970-01-01
    • 2017-03-10
    • 2015-02-05
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多