⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eraserdemo.java

📁 金旭亮的java教案
💻 JAVA
字号:


import java.util.Scanner;

   
    


public class EraserDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while(true) {
            System.out.print("输入名称:");
            String name = scanner.next();

            System.out.print("输入密码: ");


            // Eraser实现Runnable接口
            Eraser eraser = new Eraser('#');

            // 启动 Eraser 线程
            Thread eraserThread = new Thread(eraser);
            eraserThread.start();
            String password = scanner.next();
            eraser.setActive(false);

            if("jxl".equals(name) &&
               "123456".equals(password)) {
                System.out.println("您好,jxl");
                break;
            }
            else {
                System.out.printf("%s,名称或密码错误,请重新输入!%n", name);
            }
        }

    }
}    
 
 
  class Eraser implements Runnable {// 实现Runnable
    private boolean active;
    private String mask;
    
    public Eraser() {
        this('*');
    }

    public Eraser(char maskChar) {
        active = true;
        mask = "\010" + maskChar;
    }

   // 停止线程时设定为false
    public void setActive(boolean active) {
        this.active = active;
    }

    public boolean isActive() {
        return active;
    }
// 重新定义run()方法
    public void run () {
        while(isActive()) {
            System.out.print(mask);
	     try {
                 // 暂停目前的线程50毫秒
	        Thread.currentThread().sleep(50);
             } 
             catch(InterruptedException e) {
                 e.printStackTrace();
             }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -