2017-07-15 51 views
0

我正在制定一個程序來查找給定二次方程的根的值。 這是代碼 -如何在Blue-J中的命令後退出Java窗口?

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 - 這只是一個鏈接到Main_Menu類的類,如果輸入的值是1.這不是完整的代碼!

Quadratic Equations - BlueJ Program - Image

謝謝

回答

0

System.exit(0)調用剛剛結束當前​​正在運行的Java虛擬機。它不一定關閉終端窗口。一個Java程序並不知道它的上下文,所以它不能訪問它用於輸出的窗口。

但是,有兩種不同的方法可以清除BlueJ中的終端。您可以讓BlueJ在每次交互式方法調用之前自動清除終端。爲此,請在終端的「選項」菜單中激活「方法調用清除屏幕」選項。您也可以在程序中以編程方式清除終端。打印換頁字符(Unicode 000C)清除BlueJ的終端,例如:

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

這將在BlueJ的終端工作,但不能保證在所有終端相同的效果。例如,您可以在其中創建一個方法,並在您想清除終端屏幕時調用該方法。

public void clearScreen() 
{ 
    System.out.print('\u000C'); 
} 
+0

'System.out.print('\ f'); ' - 這也清除了藍色J終端。但是我想終止正在運行的JVM,然後關閉窗口! –