我是一个学习Java的高中生,我想知道如何在Scanner中将输入文本自动更改为星号。这是我为一个项目制作的一个简单的登录系统。我的代码是
Scanner scan = new Scanner(System.in);
boolean correctLogin = false;
String username;
String password;
String enteredUsername;
String enteredPassword;
while(correctLogin != true){
System.out.println("Enter Username: ");
enteredUsername = scan.nextLine();
System.out.println("Enter Password: ");
enteredPassword = scan.nextLine();
if(enteredUsername.equals("username") && enteredPassword.equals("passw00rd")){
System.out.println("You have entered the correct login info");
correctLogin = true;
break;
}
else{
System.out.println("Your login info was incorrect, please try again");
}
}
System.out.println("You are now logged in, good job!");
我想让它在我键入密码时自动变成星号。
3条答案
按热度按时间juzqafwq1#
尝试使用以下命令读取密码:
7xllpg7q2#
我的控制台java应用程序也遇到了同样的问题,出于安全原因,我也不想在IDE中显示密码。因此,为了找到bug,我不得不在生产环境中调试。以下是我在IntelliJ IDEA中的解决方案:
hivapdat3#
我不确定我是否正确地理解了你的问题,但我还是会尽力解释我所理解的。
为了确保你在用户界面上看到***,你需要有某种用HTML编写的用户界面。我认为在这种情况下,你是通过某种main方法在eclipse中运行你的代码。如果是这样的话,正如Vince提到的,**没有任何好处,因为字母会出现在控制台中。
我会建议的是寻找一些基本的网络应用教程,你会有更多的想法,它是如何工作的。
高温