ねえ、私はプログラムが数字、文字、およびパスワードの長さをチェックすることを要求するパスワード検証プログラムを作成しています、そしてプログラムはそれらが一致するかどうか見るために2つのパスワードを比較します。すべて正常に動作しますが、エラーメッセージが表示されると、複数のメッセージボックスが表示されます。これがforループと関係があることは知っていますが、私はまだ初心者であり、修正する方法がわかりません。
これが私のコードです:
import javax.swing.JOptionPane;
public class Passwords
{
public static void main(String[] args)
{
String passOne, passTwo;
passOne = JOptionPane.showInputDialog(null, "Please enter a password");
passTwo = JOptionPane.showInputDialog(null, "Please re-enter your password");
//Loop for each digit in password
for(int x = 0; x < passOne.length(); x++)
{
//Testing for a digit
if(Character.isDigit(passOne.charAt(x)))
{
//Testing for a letter
if(Character.isLetter(passOne.charAt(x)))
{
//Testing length 6-10 chars
if(passOne.length() <= 10 && passOne.length() >= 6)
{
//comparing two passwords
if(passOne.equals(passTwo))
{
JOptionPane.showMessageDialog(null, "Contratulations, you have a new password!");
}
//If passwords don't match
else
{
JOptionPane.showMessageDialog(null, "Passwords do not match, please try again.");
}
}
//If length is wrong
else
{
JOptionPane.showMessageDialog(null, "Password must be between 6 and 10 characters long.");
}
}
//If no letter
else
{
JOptionPane.showMessageDialog(null, "Password must contain at least one letter.");
}
}
//If no digit
else
{
JOptionPane.showMessageDialog(null, "Password must contain at least one digit.");
}
}
}
}