【问题标题】:Multiple while loops inside a for loopfor循环中的多个while循环
【发布时间】:2017-03-19 11:44:18
【问题描述】:

我创建了一个用于检测连接到计算机的设备数量的 for 循环。然后这会创建 2 个 JFrame,因此每个设备都有自己的窗口。我现在想向这些窗口添加数据,所以我在 for 循环中创建了一个 while 循环。但这会阻止 for 循环完成,这意味着只有一个 JFrame 显示数据,而第二个 JFrame 不可见。如果我从 for 循环中删除 while 循环,则会出现 2 个窗口,但只有一个窗口显示数据,而另一个窗口为空白。所以问题是我如何让多个 while 循环运行以基于 for 循环在多个 JFrame 上显示数据。

for(int i = 0; i < controllers.length; i++) {
        if(controllers[i].getType() == Controller.Type.STICK) {
            window = new JFrameWindow();

    while(true)
    {

【问题讨论】:

  • 删除 while(true) 并使用可以评估为 false 的真实条件并让循环在某个点结束。
  • 也许你可以看看Observer Pattern
  • @BackSlash 但是数据是不断变化的。仅当设备从计算机中移除时,while 循环才会中断。
  • @AndrewMontague 然后使用线程。或者像死神建议的那样使用观察者模式。像这样的 while 循环会让你的程序永远挂起,而你不希望这种情况发生。
  • 考虑让一个JFrame 持有多个组件来显示数据。

标签: java for-loop while-loop jinput


【解决方案1】:

每个while循环都有测试条件,当它为真时,它会继续循环,当你没有控制变量来停止应用程序或使测试条件为假时,将发生无限循环......与其他相同loop(for loop, do while loop) 想另一种方法,这样你的while循环就不会永远循环下去,这样你就可以再次执行你的for循环了

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 2011-08-09
    • 2014-08-21
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    相关资源
    最近更新 更多