0
某些網站對密碼施加了一定的規則。我正在寫一個方法來檢查一個字符串是否是一個有效的密碼。我有用於輸入密碼的java代碼,遵循一定的規則
口令的規則是:
- 密碼必須至少八個字符
- 密碼只由字母和數字
- 密碼必須包含至少兩位數字
我想出了大部分的代碼,我認爲我現在有一些正確的概念,無論輸入什麼密碼都打印出「無效密碼」..我試着運行調試器,但是真的很困惑。
這是我下面的代碼:
import java.util.Scanner;
public class practice {
public static void main(String[] args) {
System.out.print("Enter a password");
Scanner input = new Scanner(System.in);
String password = input.nextLine();
boolean isCorrect = checkPassword(password);
if(isCorrect)
{
System.out.println("Valid Password");
}
else
{
System.out.println("Invalid Password");
}
}
//this method checks the password
public static boolean checkPassword(String password)
{
int countDigit = 0;
if (password.length() >=8){
return false;
}
for(int i = 0; i <password.length(); i++)
{
if(!(Character.isLetterOrDigit(password.charAt(i))))
{
return false;
}
}
for(int i = 0; i<password.length(); i++){
if((Character.isDigit(password.charAt(i)))){
countDigit = countDigit + 1;
}
}
if (countDigit >= 2){
return true;
}
else
return false;
}
}
您並不總是需要調試器才能進行調試。我會開始在每個'return false;'行輸出一個唯一的消息來查看哪一個被觸發。 –
是的,只是想通了.. – Andrey
很高興聽到它。 –