在 Blue-J 中执行命令后如何退出 Java 窗口?

Posted

技术标签:

【中文标题】在 Blue-J 中执行命令后如何退出 Java 窗口?【英文标题】:How to Exit Java Window after a command in Blue-J? 【发布时间】:2017-12-20 05:33:41 【问题描述】:

我正在编写一个程序来查找给定二次方程的根值。 这是代码 -

import java.util.*;
class Success

   public static void main(String[] args)

    String input1;
    Scanner sc=new Scanner(System.in);        
    System.out.println();
    System.out.println();
    System.out.println("-------------------------------------------------------------------");
    System.out.println("-------------------------------------------------------------------");
    System.out.println("!! Success !!");
    System.out.println("------- (-_-) -------");
    System.out.println();
    System.out.println("Let's Try Again!!!");
    System.out.println();
    System.out.println("Enter anything to Exit or 1 to go back to Main Menu.");              
    input1 = sc.nextLine();
     if(input1.equals("1"))
     
       System.out.print('\f'); 
       Main_Menu.main(args);
     
     else 
             
       System.exit(0);
     
   

这里我使用 System.exit(0);退出程序。但是使用它只会最小化窗口。有什么办法可以关闭窗口。

P.S - 如果输入的值为 1,这只是一个链接到 Main_Menu 类的类。这不是完整的代码!

Quadratic Equations - BlueJ Program - Image

谢谢

【问题讨论】:

【参考方案1】:

System.exit(0) 的调用只会终止当前正在运行的Java 虚拟机。它不一定会关闭终端窗口。 Java 程序对它的上下文一无所知,因此它无法访问它用于输出的窗口。

但是,在 BlueJ 中清除终端有两种不同的方法。您可以让 BlueJ 在每次交互方法调用之前自动清除终端。为此,请激活终端“选项”菜单中的“方法调用时清除屏幕”选项。您还可以在程序中以编程方式清除终端。打印换页符(unicode 000C)会清除 BlueJ 终端,例如:

System.out.print('\u000C');

这将在 BlueJ 终端中起作用,但不能保证在所有终端中都具有相同的效果。例如,您可以创建一个包含 this 的方法,并在您想要清除终端屏幕时调用该方法。

public void clearScreen()

    System.out.print('\u000C');

【讨论】:

'System.out.print('\f'); ' - 这也清除了 Blue J 终端。但是我想终止正在运行的JVM,然后关闭窗口!

以上是关于在 Blue-J 中执行命令后如何退出 Java 窗口?的主要内容,如果未能解决你的问题,请参考以下文章

[Java]_[初级]_[如何调用外部命令获取输出并设置它的超时退出]

[Java]_[初级]_[如何调用外部命令获取输出并设置它的超时退出]

linux JDK安装环境变量配置过了也保存并退出了,但是执行source profile命令后,JDK还是搜不到是为啥?

如何让Node命令行程序直接在Windows CMD中输入命令执行

如何在windows c++中的cmd中运行命令后获取退出代码

C语言switch case后如何执行多条命令