如何在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");
}
}
}
}
答案 0 :(得分:0)
抱歉,但这不可能以通用的方式进行。
原因是,您的程序无线索 屏幕是什么。 System.out可以引用任何东西,NUL设备,某种控制台甚至文件。控制台可能允许清除,但是如何清除控制台完全取决于控制台的类型(IDE中的常用控制台无法清除,这与其记录程序输出的目的相矛盾,通常可以清除DOS提示符/ shell的控制台。)
您最好的选择是假设控制台支持ANSI代码,并按照MohdAdnan的评论中的建议发送ANSI控制代码以获得清晰的屏幕:
System.out.print("\u001b[2J");
System.out.flush();