我是 Java 新手,我想问一下如何屏蔽/隐藏用户的密码输入。我希望程序在每次用户键入任何内容时都显示一个星号 (*),以便隐藏密码。我的密码程序单独(没有屏蔽)有效。用户将输入密码,之后只有 3 次尝试。我想用星号屏蔽用户输入的任何内容。
我在互联网上研究了如何使用遮罩,但我不明白。我的程序多次未能屏蔽。我对Java真的很陌生,如果你们会使用我的一些其他代码。如果可能,请解释一下。谢谢。
这是我的第一个代码: import java.io.*; 导入 javax.swing.JPasswordField;
public class Capture_Password {
public static void main(String[] args) {
BufferedReader loopin=new BufferedReader (new InputStreamReader (System.in));
JPasswordField passwordFld = new JPasswordField();
final double pinno=12345;
double ca;
String attempt;
try
{
System.out.println("Please enter the 5-digit PIN code:");
attempt=loopin.readLine();
ca=Double.parseDouble(attempt);
if(ca==pinno)
{
System.out.println("Congratulations! You have entered the correct PIN code!");
}
else
{
for(int tryleft=3; tryleft>=0 && ca!=pinno; tryleft--)
{
System.out.println("Sorry, you have entered the wrong PIN code");
System.out.println("You have " + tryleft + " try/tries left");
System.out.println();
if(tryleft==0)
{
System.out.println("That was your last attempt, goodbye!");
}
System.out.println();
if(tryleft>0)
{
System.out.println("Please enter the 5-digit PIN code:");
attempt=loopin.readLine();
ca=Double.parseDouble(attempt);
}
if(ca==pinno)
{
System.out.println("Congratulations! You have entered the correct PIN code!");
}
}
}
}
catch(Exception e)
{
System.out.println("ERROR");
}
}}
这是另一个:
public class JPasswordField{
public String getEchoString(){
return "*";
}
}
我真的很感谢你的帮助,伙计们!