我正在为ATM机创建这个简单的登录代码。 您输入用户名和密码,然后登录,效果很好。由于我没有连接到数据库或外部文本文件而且我只有一个用户,所以它只是在Java代码中明确写出来的。但是当你输入密码“p4ss”时我希望它被屏蔽,所以不要在键入时在屏幕上看到它,而应该看到“* * * *”或“”只是空白(就像你在Linux上输入密码一样)。
目前我的代码如下:
String user;
String pass;
System.out.print("User: ");
user = Keyboard.readString();
System.out.print("Pass: ");
pass = Keyboard.readString();
if ((user.equals("Admin")) && (pass.equals("p4ss")))
{
menu();
}
else
{
out.println("Wrong username or password.");
}
感谢我能得到的任何帮助。
答案 0 :(得分:2)
或者,如果您使用的是Java 5或更高版本,则可以使用: How to mask a password in Java 5?
答案 1 :(得分:1)
我认为这是一个模拟的ATM ......
Dev已经指出控制台上的密码屏蔽是开箱即用的,所以你可以使用它。但是对于除了最琐碎的IO之外的任何东西,你最好使用Swing或“类似curses”的库:
答案 2 :(得分:0)
在Java 6中引入了一个特殊的方法Console.readPassword()
。你显然无法在真正的ATM上运行这样的代码! Swing有JPasswordField
,它允许你在GUI中进行这种屏蔽,可以想象一个基于Swing的ATM窗口。
答案 3 :(得分:0)
如果你有JavaSE 6或更新版本,你可以使用Console.readPassword()