- 배열 내의 각 문자에 대해 다음 사항을 판별하여 해당 되는 항목이 있을 경우 점수 증가하고,
해당 점수에 따라 안전도 레벨 출력
1) 대문자 포함 +1점
2) 소문자 포함 +1점
3) 숫자 포함 +1점
4) 특수문자 !포함 +1점
=> 최대 점수 4점, 최소 점수 1점이며 다음 결과 출력
1) 4점 : "패스워드 안전도 : 안전" 출력
2) 3점 : "패스워드 안전도 : 보통" 출력
3) 2점 : "패스워드 안전도 : 위험" 출력
4) 1점 : "패스워드 안전도 : 사용 불가!" 출력
ex) 'a','d','m','i','n','1','2','3'일 경우
소문자, 숫자 포함이므로 총점 2점 -> 패스워드 안전도 : 위험
String password = "1234";
// String -> char[] 변환
char[] chArr = password.toCharArray();
// 안전도 점수를 저장할 변수 선언 및 초기화
int point = 0;
// 각 체크 항목별 포함여부를 저장하는 변수 선언(boolean 타입 적절)
boolean isUpperCase = false; // 대문자 판별 결과
boolean isLowerCase = false; // 소문자 판별 결과
boolean isDigit = false; // 숫자 판별 결과
boolean isSpec = false; // 특수문자 판별 결과
// 반복문을 사용하여 배열 반복(항목 포함 여부 체크)
// => 각 항목 여부를 판별(Wrapper 클래스의 isXXX() 메서드 활용)
// => 해당 항목이 포함되어 있을 경우 boolean 타입 변수 값을 true로 변경
for(int i=0;i<chArr.length;i++) {
if(Character.isUpperCase(chArr[i])) { //대문자 판별
isUpperCase = true;
} else if(Character.isLowerCase(chArr[i])) { // 소문자 판별
isLowerCase = true;
} else if(Character.isDigit(chArr[i])) { // 숫자 판별
isLowerCase = true;
} else if(chArr[i]=='!') { // 특수문자 판별
isSpec = true;
}
}
// 각 항목 포함 여부를 체크하여 포함되었을 경우 점수 1점 증가(if문 활용)
if(isUpperCase) point++;
if(isLowerCase) point++;
if(isDigit) point++;
if(isSpec) point++;
//점수에 따라 안전도 출력
switch(point) {
case 4:
System.out.println(password+ " : 안전");
break;
case 3:
System.out.println(password+ " : 보통");
break;
case 2:
System.out.println(password+ " : 위험");
break;
default:
System.out.println("지정한 패스워드 '" + password+ "' : 사용 불가한 패스워드!");
}
➡️결과 :
지정한 패스워드 '1234' : 사용 불가한 패스워드!
'JAVA' 카테고리의 다른 글
[JAVA] Math.random() 메서드 활용 100% (1) | 2023.10.24 |
---|---|
[JAVA] java.lang.Math 클래스 (0) | 2023.10.24 |
[JAVA] Wrapper 클래스 예제 (0) | 2023.10.24 |
[JAVA] Wrapper 클래스의 다양한 메서드 활용 (0) | 2023.10.17 |
[JAVA] Wraaper클래스 기본 문법 규칙 (0) | 2023.10.17 |