循环不退出

Loop not exiting

我得到了一段既过于复杂又严重低效的代码。我的任务是:

当变量"noOfQuest"设置为“0”时,应用程序按预期关闭。但是,当变量设置为大于 5 时,应用程序会挂起。 我该如何解决这个问题?

编辑

我已经编辑了问题以包含我最终使用的答案,由 Lawrence Aiello 在下面建议(接受的答案)。

if(iCount==0)
            {
                if(noOfQuest==0 || noOfQuest>5)
                {
                    System.out.println("FILE_ERROR: Please ensure line \"noOfQuest\" in file is greater than 0." + "\n" +
                                        "File located: C:/Exercise 7 - Emails/configuration.properties");
                    System.exit(0);
                }
            }

重构为 for-nested do-while 循环以检查所有条件

因为你的程序处于一个无限循环中,只有当 noOfQuest 为 0 时才退出。因此,如果它永远不会达到这个值,循环将永远继续下去,这会导致你被挂起谈论.

noOfQuest.

中放置一个处理大于 5 的值的 if 语句

如果您系统地检查不同的离散值(1、2、3,...),请使用 switch case 语句。还要添加一个默认路径,这样你就永远不会卡住。为您节省大量代码。

我遇到的一个简单的解决方案是以下代码:

if(iCount==0)
                {
                    if(noOfQuest==0 || noOfQuest>5)
                    {
                        System.out.println("FILE_ERROR: Please ensure line \"noOfQuest\" in file is greater than 0." + "\n" +
                                            "File located: C:/Exercise 7 - Emails/configuration.properties");
                        System.exit(0);
                    }
                }

此部分检查 iCount 是否为 0(在运行时始终为 0)并检查问题数量是否为 0 或大于 5。如果是,它将打印消息并关闭应用程序,使用 "System.exit(0)".此命令关闭当前 JVM 会话。