Edit: Это, вероятно, очень плохой код в PasswordVerifier.JavaPassword Verifier Выпуск
Я делаю пароль верификатор, который проверяет, является ли введенный пароль длиной не менее 6 символов, имеет заглавную букву, строчную , и цифрой.
Я думаю, что у меня есть логистика его несколько правильная, но по какой-то причине моя программа не подходит к следующему приглашению. Он запрашивает мой пароль, а затем вешает трубку и не говорит мне, действительно ли мой пароль или нет. Я думаю, что мои петли верны, поэтому я не знаю, в чем моя проблема.
PasswordVerifier.Java
import java.util.*;
public class PasswordVerifier{
//field
private static int MIN_PASSWORD_LENGTH = 6;
//methods
public static boolean isValid(String str){
boolean valid = false;
PasswordVerifier pass = new PasswordVerifier();
if(pass.hasUpperCase(str)|| pass.hasLowerCase(str) || pass.hasDigit(str)){
valid = true;
}
if (str.length() < 6){
valid = false;
}
return valid;
}
//UpperCase Boolean check
private boolean hasUpperCase(String str){
boolean valid = false;
int i = 0;
while (i < str.length()){
if (Character.isUpperCase(str.charAt(i)))
valid = true;
}
i++;
return valid;
}
//Lowercase Boolean Check
private boolean hasLowerCase(String str){
boolean valid = false;
int i = 0;
while (i < str.length()){
if (Character.isLowerCase(str.charAt(i)))
valid = true;
}
i++;
return valid;
}
//Number boolean check
private boolean hasDigit(String str){
boolean valid = false;
int i = 0;
while (i < str.length()){
if ((Character.isDigit(str.charAt(i))))
valid = true;
}
i++;
return valid;
}
}
PasswordDemo.Java
import javax.swing.JOptionPane;
public class PasswordDemo{
public static void main(String[] args){
String input; //To hold the user's input
input = JOptionPane.showInputDialog("Enter a Password");
if (PasswordVerifier.isValid(input)){
JOptionPane.showMessageDialog(null, "Valid Password");
}
else{
JOptionPane.showMessageDialog(null, "invalid Password, try again.");
}
}
}
Ничего себе, спасибо. Это сработало! – iamgod
btw вы можете использовать простой код 'valid = pass.hasUpperCase (str) && pass.hasLowerCase (str) && pass.hasDigit (str);' – nachokk