Java在运行窗口输入字符变成*号
时间: 2023-12-07 19:02:51 浏览: 70
这个问题可以通过使用Java的Console类来解决。Console类提供了一种从控制台读取和写入文本的方法。下面是一个示例代码,可以实现在控制台输入字符时将其替换为*号:
```java
import java.io.Console;
public class PasswordMasking {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("Console not available");
System.exit(0);
}
char[] passwordArray = console.readPassword("Enter your password: ");
String password = new String(passwordArray);
System.out.println("Your password is: " + password.replaceAll(".", "*"));
}
}
```
在这个示例中,我们使用Console类的readPassword()方法从控制台读取密码。这个方法返回一个字符数组,它包含用户输入的字符。然后我们将字符数组转换为字符串,并使用replaceAll()方法将所有字符替换为*号。最后,我们将替换后的密码打印到控制台上。
需要注意的是,Console类只能在命令行中使用,不能在IDE或其他集成开发环境中使用。如果在IDE中运行这个程序,会出现NullPointerException异常。
阅读全文