所以我試圖讓我的程序運行通過我的字符串中的每個字符,如果它找到一個數字,然後打印密碼並退出for循環和while循環(不包括while循環但它是'while(test == 0)')。但是如果我輸入一個沒有數字的密碼,它將掃描整個字符串並打印出我需要的數字。出於某種原因,當我用一個數字輸入密碼時,它可以很好地工作。但是當我輸入一個沒有數字的密碼時,我收到一條錯誤消息......任何想法?字符串長度的問題
這裏是我的代碼:
for (int num = 0; num <= passw.length(); num++){
if (Character.isDigit(passw.charAt(num))){
num += 1000;
test++;
System.out.println(passw);
}
if (num >= passw.length() && num <= 1000){
System.out.println("You need a number");
}
}
+1。我認爲這是用於非數字檢查的更簡潔的方法。 – kosa
工作很好。謝謝 –
沒問題。你也可以使用正則表達式來檢查密碼的質量,例如,確保它包含至少一個正則表達式中的所有字符,至少一個大寫字母,一個小寫字母和一個數字,或者多個字符(如果你覺得它更容易,則爲多個字符) ,但是正則表達式是這個功能的首選武器 – Bohemian