본문 바로가기
Java

JAVA]알고리즘]입력 받은 문자열의 보안 레벨 확인하기

by 완기 2020. 6. 14.
728x90
반응형
import java.util.Scanner;

public class passWordSecurity {
	public static void main(String[] args) {
		String securityLevel = "";
		System.out.println("보안 레벨을 확인 할 문자를 입력하세요. :");
		Scanner scan = new Scanner(System.in);
		String msg = scan.nextLine();
		System.out.println("입력 받은 값 : " + msg);
		for (int i = 0; i < msg.length(); i++) { // 입력받은 문자열의 i번째가 숫자인지 확인
			if (Character.isDigit(msg.charAt(i)) == true) {// 숫자가 존재함
				securityLevel = "Level 1";
			}
			if (Character.isUpperCase(msg.charAt(i))) {
				securityLevel = "Level 2";
			}
		}

		if (!(msg.matches("[0-9|a-z|A-Z|ㄱ-ㅎ|ㅏ-ㅣ|가-힝]*"))) { // 정규식이 있는지 확인함
			securityLevel = "Level 3";
		}
		System.out.println(msg + "의 보안 레벨은" + securityLevel);
		scan.close();
	}
}

 

 

1 . Scanner 클래스를 통해서 사용자에게 문자열을 입력 받는다. 

 

2 . nextLine() 메소드를 이용하여 사용자가 문자열을 다 입력한 후, 엔터를 누르면 줄바꿈을 기준으로 문자열을 인식한다.

 

3.Length() 메소드를 사용하여 문자열의 길이만큼 반복하여 isDigit메소드에 charAt을 인자값으로 넘겨 i번 째에 숫자가 존재하는지 확인한다.

 

4.숫자가 존재하면 보안 레벨을 1로 규정한다.

 

5.그 다음 입력받은 문자열 i번째(charAt(i))에 isUpperCase를 통해 대문자가 존재하는지 확인한다.

 

6.대문자가 존재하면 보안 레벨을 2로 규정한다.

 

7.matches로 특정 문자가 있는지 확인하는데 인자값은 정규식 표기법을 인자 값으로 넘긴다.

 

8.특수 문자가 존재하면 보안 레벨을 3으로 규정하고, 사용한 스캐너를 닫아준다.

728x90
728x90

'Java' 카테고리의 다른 글

JAVA]String 문자열 함수들  (0) 2020.06.25
Spring]Ioc란?  (0) 2020.06.17
EL의 두 가지 표기방법  (0) 2020.06.14
JSP] JSP내장객체 (저장소)  (0) 2020.06.09
JSP] 한 컨트롤러에서 여러 서블릿 처리하기  (0) 2020.06.05

댓글