如何在Java中使用清晰的屏幕

时间:2013-10-02 16:59:17

标签: java

如何在Java中清除屏幕?

我使用while循环和switch case创建了一个菜单驱动的简单演示程序。一个循环完成后,我想清除一个屏幕,但这不起作用。我很乐意为此找到可能的解决办法。

我正在使用JDK 7并在命令提示符下运行该程序。

import java.util.*;
class DemoPrg
{
    public static void main(String argv[])
    {
        int ch;
        Scanner sc=new Scanner(System.in);
        while(true)
        {
            // i want to clear the scrren hear
            System.out.println("1. Insert New Record");
            System.out.println("2. Display Record");
            System.out.println("3. Delete Record");
            System.out.println("4. Edit Record");
            System.out.println("0. Exit");
            System.out.print("Enter Your Choice:");
            ch=sc.nextInt();
            switch(ch)
            {
                case 1:
                    System.out.println("insert");
                    break;
                case 2:
                    System.out.println("display");
                    break;
                case 3:
                    System.out.println("delete");
                    break;
                case 4:
                    System.out.println("edit");
                    break;
                case 0:
                    System.exit(0);
                default:
                    System.out.println("invalid");
            }
        }   
    }
}

1 个答案:

答案 0 :(得分:0)

抱歉,但这不可能以通用的方式进行。

原因是,您的程序无线索 屏幕是什么。 System.out可以引用任何东西,NUL设备,某种控制台甚至文件。控制台可能允许清除,但是如何清除控制台完全取决于控制台的类型(IDE中的常用控制台无法清除,这与其记录程序输出的目的相矛盾,通常可以清除DOS提示符/ shell的控制台。)

您最好的选择是假设控制台支持ANSI代码,并按照MohdAdnan的评论中的建议发送ANSI控制代码以获得清晰的屏幕:

System.out.print("\u001b[2J");
System.out.flush();