例如,而不是打印
/
-
\
/
在一个新行上使它保持在一行并且是一个动画?
答案 0 :(得分:7)
是,打印\b
(退格)以删除最后一个字符。简而言之:
System.out.print('/');
System.out.print('\b');
System.out.print('-');
System.out.print('\b');
System.out.print('\\');
System.out.print('\b');
请注意,由于错误,此doesn't在Eclipse控制台中有效。但是,在命令控制台中,它应该可以正常工作。
答案 1 :(得分:1)
如果需要文本光标定位,解决方案需要通过JNI。您将需要一些C光标定位软件,这将是不可移植的。大约15到20年前,诅咒是一个受欢迎的应用程序 问题是你真的需要这次旅行吗?
答案 2 :(得分:1)
也许您应该在应用中实现命令行界面。然后,您可以完全控制命令行的行为。像Clamshell-Cli这样的图书馆可能会为你做繁重的工作。
答案 3 :(得分:1)
import java.io.*;
class Load_Animate
{
static byte anime;
static void animate(int i)
{
try
{
for(int j = 0 ; j<=100 ; j++)
{
switch(anime)
{
case 1:
System.out.print("\r[ \\ ] :" + j + "%");
break;
case 2:
System.out.print("\r[ | ] :" + j + "%");
break;
case 3:
System.out.print("\r[ / ] :" + j + "%");
break;
default:
anime = 0;
System.out.print("\r[ - ] :" + j + "%");
}
anime++;
Thread.sleep(i);
}
}
catch(InterruptedException e)
{
System.out.println(e);
}
}
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i = Integer.parseInt(br.readLine());
animate(i);
}
}
这就是我所做的 我使用了“ \ r”,它是回车符,基本上指向该行的第一个位置。