java 输入密码时显示星号6_Java多线程 例子 cmd窗口下 实现输入密码星号显示
import java.util.Scanner;
/**
* Create Time: 2018-03-17 07:28
*
* @author sheting
*/
public class TestEraserThread {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入名称:");
String name = scanner.next();
System.out.print("请输入密码:");
EraserThread eraserThread = new EraserThread('#');
eraserThread.start();
String password = scanner.next();
eraserThread.setActive(false);
if ("sheting".equals(name) && "123456".equals(password)) {
System.out.println(String.format("欢迎%s", name));
break;
} else {
System.out.println("用户名或密码输入错误!请重新输入");
}
}
}
}
class EraserThread extends Thread {
private boolean active;
private String mask;
public EraserThread() {
this('*');
}
public EraserThread(char maskChar) {
active = true;
mask = "\010" + maskChar;
}
public void setActive(boolean active) {
this.active = active;
}
public boolean isActive() {
return active;
}
@Override
public void run() {
while (isActive()) {
System.out.print(mask);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
运行结果:
说明:在文本模式输出\010表示返回一个字符位置。
在Java1.6之后可以使用console.readPassword()方法隐藏用户输入的文本。
import java.io.Console;
/**
* Create Time: 2018-03-17 09:19
*
* @author sheting
*/
public class Test {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("Couldn't get Console instance, maybe you're running this from within an IDE?");
System.exit(0);
}
char passwordArray[] = console.readPassword("Enter your secret password: ");
console.printf("Password entered was: %s%n", new String(passwordArray));
}
}
运行结果:
java 输入密码时显示星号6_Java多线程 例子 cmd窗口下 实现输入密码星号显示相关推荐
- css设置div从下到上显示,科技常识:css制作从下往上逐渐显示的div
今天小编跟大家讲解下有关css制作从下往上逐渐显示的div ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css制作从下往上逐渐显示的div 的相关资料,希望小伙伴们看了有所帮助. htm ...
- cmd怎么实现Java你好_java环境配置以及如何在cmd窗口运行java代码
对于初学java的人来说,电脑的环境配置也许会让你头疼,但只要你认真一些学习,相信对你来说都是OK的啦~ 首先回到桌面,选择我的电脑,单击右键属性,进入高级系统设置,点击环境变量设置.用户变量选择Te ...
- Java怎么弹出cmd命令窗口_怎么在java里打开bat文件,并打开cmd窗口执行,举例一个完整代码。...
展开全部 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; impor ...
- layui 下拉框空选项不显示_layui下select下拉框不显示或没有效果
Layui会对select.checkbox.radio等原始元素隐藏,从而进行美化修饰处理.但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例.值得注意的是:导航的Hover效果 ...
- cmd窗口pip显示不是内部或外部命令,也不是可运行的程序或批处理文件
cmd窗口pip显示不是内部或外部命令,也不是可运行的程序或批处理文件 概述 按照步骤: 1.查看python安装目录\Scripts,有没pip.exe 2.如果没有,官网下载tar包并解压,在解压 ...
- Windows下Java调用BAT批处理不弹出cmd窗口
常规Windows下Java调用BAT方式肯定会弹出cmd窗口 Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat") ...
- cmd窗口太炫酷了,电脑编码软件太多?手把手教你搭建Java环境,利用dos命令实现运行操作
Java学习打卡:第十四天 内容导航 Java学习打卡:第十四天 内容管理 什么是cmd 写文背景介绍 搭建java环境 首先先下载JDK,java开发工具包 第二步:将压缩包解压到指定目录 第三步: ...
- java 多线程列子_java 多线程例子
编写具有多线程能力的程序经常会用到的方法有: run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), join() 还有一个重 ...
- java 去除时间中的PM_在Java中使用SimpleDateFormat(“ a”)显示AM / PM时间标记
您可以使用SimpleDateFormat(" a")在Java中轻松显示AM / PM时间标记. 首先,要使用Java中的SimpleDateFormat类,请导入以下包.imp ...
最新文章
- 512块A100,AlphaFold训练时间从11天压缩至67小时
- 【Network Security!】信息的扫描与嗅探
- leetcode day2 -- Sort List Insertion Sort List
- GDB 修改当前判断函数的返回值(即修改寄存器的值)的方法
- 学习笔记二:异步FIFO
- 全面认识UML-类图元素(java)
- RDLC 报表参数、常量及常用表达式的使用方法(上)
- 【华为大咖分享】1.云上开发,代码托管只是第一步(后附PPT下载地址)
- DAO层、ENTITY层、SERVICE层、CONTROLLER层
- android学习笔记---42_服务的生命周期
- Enjoy模板里使用layui模板引擎laytpl
- luoguP3403 跳楼机
- seaborn的多样化图表及图表样式设置
- [转]centos安装oracle
- php图片上传为base64,php实现base64图片上传方式实例代码
- 4k 显示器放大 150% 和 23寸显示器组双屏抓图问题解决
- Matlab Robitic Toolbox学习笔记Day2
- bzoj3998/洛谷3975 [TJOI2015]弦论 (后缀自动机)
- matlab中求最大因数,matlab最大公约数 三种算法
- Grid Garden
热门文章
- 利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏
- SQL存储过程中QUOTED_IDENTIFIER和ANSI_NULLS
- org.hibernate.AnnotationException: mappedBy reference an unknown target entity property
- vue-webpack3x -- webpack4x
- java设计模式—工厂模式
- AndroidStudio_开发工具的设置_布局编辑器的使用---Android原生开发工作笔记74
- Hive大数据-Hive的架构---大数据之Hive工作笔记0003
- STM32工作笔记0059---独立看门狗实验
- IOS工作笔记001---windows下安装通过VmWare来安装IOS系统_并连接上网_来吧超级详细
- SpringCloud工作笔记075---SpotBugs介绍--优化java代码的质量