利用扫描仪实现Java中的口令屏蔽

2022-07-01 00:00:00 java java.util.scanner

我是一名学习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!");

我想要它,以便在我键入密码时,它会自动变为星号。


解决方案

尝试此密码读取:

Console console = System.console();
if(console != null){
  console.readPassword("Enter Password: ");
}

相关文章