2

假设我有一个 java 程序(实际上我写了一个 CLI),它进入了一个无限循环,并且在该循环中它增加了一个计数器。当我从命令行按 Ctrl + C 退出程序时,我可以打印计数器的值然后退出吗?假设我有一个类似的功能:

public void count(){
    int count = 1;
    while (count>0) {
        count++;
    }
}

现在,我调用这段代码并开始执行。过了一会儿,我在终端上按了 Ctrl + C ,程序被迫退出。当它退出时,我可以以某种方式打印 count 的值然后退出吗?

注意:我并没有在我的程序中完全这样做。我只是想弄清楚是否有办法强制退出程序并在强制退出时将某些内容打印到控制台。

4

2 回答 2

3

来自另一个站点的轻微复制意大利面(不过 StackOverflow 更喜欢这里的答案)

public class Main {
  public static var message; //can be String, int, whatever.
  static class ForceClosedMessage extends Thread {
    public void run() {
      System.out.println(message);
    }
  }
  public static void main(String... args) {
    Runtime.getRuntime().addShutdownHook(newForceClosedMessage());
    //Go about your business
  }
}
于 2020-07-18T18:26:25.333 回答
-2

你可以break()在你的时候使用方法。例如:

int count = 1; 
while (count>0)
{
 count++;
 if(count==10){
      break();
 }
 }
 System.out.println(String.valueof(count));

此代码在 count 等于 10 时结束

于 2020-07-18T18:03:00.917 回答