import java.util.Scanner;public class EraserThreadDemo extends Thread{
private boolean active = true; public void setActive(boolean b) {
active = b;
} public boolean isTrue() {
return active;
} public void run() {
while (isTrue()) {
System.out.print("\010" + "*");
}
} public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.println("请输入密码:");
EraserThreadDemo etd = new EraserThreadDemo();
etd.start();
in.next();
etd.setActive(false);
}
}程序想屏蔽你输入的内容,输入换行后程序运行就会结束。另外:“\010”这个八进制数是什么意思呢?

解决方案 »

  1.   

    为什么"\010"是八进制数? System.out.print(010)这样才代表打印8进制的数。 我猜测"\010"是指某个特殊不可见字符或者代表使用某种编码。
    仅仅是猜测哈
      

  2.   

    \010是 不可见字符 , 表示的是ascii码的 8进制形式 也就是 十进制的10而且你那个屏蔽是什么概念的?那个没有sleep的while会跑死的
      

  3.   

    "\010"=8 ascII码表中表示  (backspace)退格符