同时执行两个命令行

时间:2013-04-13 14:45:38

标签: java

这是我要做的一段代码:

String intro = "Test String";
System.out.println("===============");  //Line 1
System.out.println(intro);              //Line 2
System.out.println("===============");  //Line 3

我正在“动画”介绍,即我使用循环将字符串向右移动一次,每次迭代。例如,第一次是“Test String”,第二次是“Test String”。我还使用Thread.sleep()函数来延迟动画。但是,在for循环完成之前,我无法打印第3行。有没有办法做到这一点?感谢。

编辑:

此函数用于移动字符串:

public String moveChar(String a){
    char temp=' ';
    char[] charOfA = new char[50];
    charOfA = a.toCharArray();
    temp = a.charAt(a.length()-1);

    for (int i = a.length()-1; i > 0; i--) {

        charOfA[i] = charOfA[i-1];

    }
    charOfA[0] = temp;
    a = new String(charOfA);
    return a;
}

那么Main上的那个是:

System.out.println("==================================");
for (int i = 0; i < 5; i++) {
    intro = moveChar(intro);
    System.out.print(intro);
    System.out.print("\r");
    sleep(1000);
}
System.out.println("==================================");

Sleep函数只是Thread.sleep(int milliseconds);用try-catch包围它。

1 个答案:

答案 0 :(得分:0)

可以打印退格\b并删除您打印的任何内容以模拟动画。

        String x = "Test String";
        for (int i = 0; i < 10; i++)
        {
            System.out.print(x);
            int len = x.length();
            for (int j = 0; j < len; j++)
            {
                System.out.print('\b');
            }
            x = " " + x;
        }

我不知道这是否适用于所有平台。似乎可以在Win7命令行上工作。