私はJavaが初めてで、ユーザーのパスワード入力をマスク/非表示にする方法を知りたい. パスワードが非表示になるように、ユーザーが何かを入力するたびにアスタリスク (*) を表示するプログラムが必要です。私のパスワード プログラムだけで (マスキングなしで) 動作します。ユーザーはパスワードを入力し、その後は 3 回しか試行できません。ユーザーがアスタリスクで入力するものは何でもマスクしたいと思います。
マスキングの使い方をネットで調べたのですが、よくわかりません。私のプログラムは何度もマスクに失敗しました。私は Java に本当に慣れていないので、私のものにはない他のコードを使用する場合は. 可能であれば説明してください。ありがとう。
これが私の最初のコードです: import java.io.*; import 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");
}
}}
もう 1 つは次のとおりです。
public class JPasswordField{
public String getEchoString(){
return "*";
}
}
皆さん、助けてくれて本当にありがとう!