如何在不停顿Java的情况下退出无限循环

时间:2017-05-07 02:44:23

标签: java

我有一个Java程序可以自动执行一长串任务,并在每个完成的任务之后暂停15秒然后重新启动。有没有办法通过输入用户的任何击键来结束此程序?我不想要问用户他们是否想要结束程序并且必须停下来并经常询问,因为用户不会回应。我知道你可以在命令提示符下按“Control + C”来停止程序但是有比这更优雅的方法吗? 该计划是这样的:

while(true) {
// automatic task code
}

谢谢

**编辑*我的问题更多的是“当我输入一个可以突然结束程序的未经请求的输入时,我可以创建一个程序吗?”

3 个答案:

答案 0 :(得分:0)

一个简单的休息时间。调用break退出循环。

while(true) {

  if(conditionMet){ 
      break;
  }

}

答案 1 :(得分:0)

您可以使用break;打破任何循环。 如果你的程序已经在监听键盘输入,你只需要将该break命令放在一个检查所需输入的条件语句中。

答案 2 :(得分:0)

您可以使用System.exit()或中断 java.lang.System.exit()方法终止当前运行的Java虚拟机。

例如,

// A Java program to demonstrate working of exit()

import java.util.*; import java.lang.*;

class Test

{

public static void main(String[] args)
{
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};

    for (int i = 0; i < arr.length; i++)
    {
        if (arr[i] >= 5)
        {
            System.out.println("exit...");

            // Terminate JVM
            System.exit(0);
        }
        else
            System.out.println("arr["+i+"] = " +
                              arr[i]);
    }
    System.out.println("End of Program");
}

}

当它激活System.exit()时停止执行。

当你使用break语句时,控件不会终止程序,它来自循环

while(true){ //Critical task break; }