java 基礎 檢測密碼
阿新 • • 發佈:2018-11-02
題目
- 密碼必須至少 8 位字元。
- 密碼僅能包含字母和數字。
- 密碼必須包含至少兩個數字。
編寫一個程式,提示使用者輸入一個密碼,如果符合規則,則顯示 Valid Password, 否則 顯示 Invalid Password。
程式碼
import java.util.Scanner;
public class Program18 {
private static Scanner input;
public static void main(String[] args) {
input = new Scanner(System.in) ;
System.out.print("Enter a string:");
String str = input.nextLine();
if (evenEightChar(str) && onlyNumberOrChar(str) && evenTwoNumber(str))
System.out.println("Inalid Password");
else
System.out.println("Valid password");
}
private static boolean evenEightChar(String str) {
if (str.length() >= 8)
return true;
else
return false;
}
private static boolean onlyNumberOrChar(String str) {
for (int i = 0; i < str.length(); i++) {
if(!('0'<=str.charAt(i)&&str.charAt(i)<='9'||'a'<=str.charAt(i)&&str.charAt(i)<='z'||'A'<=str. charAt(i)&&str.charAt(i)<='Z'))
return false;
}
return true;
}
private static boolean evenTwoNumber(String str) {
int number = 0;
for (int i = 0; i < str.length(); i++) {
if ('0' <= str.charAt(i) && str.charAt(i) <= '9')
number++;
}
if (number < 2)
return false;
else
return true;
}
}
流程圖
注意對程式的分層處理
我們可以將所有程式都放在一起,但是我們這樣的話,會導致程式碼的重用度低,而且不容易檢查,所以我們推薦這樣書寫程式碼。