我有一个Java程序可以自动执行一长串任务,并在每个完成的任务之后暂停15秒然后重新启动。有没有办法通过输入用户的任何击键来结束此程序?我不想要问用户他们是否想要结束程序并且必须停下来并经常询问,因为用户不会回应。我知道你可以在命令提示符下按“Control + C”来停止程序但是有比这更优雅的方法吗? 该计划是这样的:
while(true) {
// automatic task code
}
谢谢
**编辑*我的问题更多的是“当我输入一个可以突然结束程序的未经请求的输入时,我可以创建一个程序吗?”
答案 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;
}