Search

문자열2_개념09_대소문자

대분류
STEP06 문자열
소분류
문자열2_개념

영상

문제

package 문자열2_개념; import java.util.Scanner; /* [문제] 아이디와 비밀번호를 입력받고 로그인을 처리한다. 단, 아이디와 비밀번호는 (1) 대문자로 입력하던 (2) 소문자로 입력하던 (3) 대소문자를 섞어서 입력하던 전부 동일하게 인식되어야 한다. */ public class 문자열2_개념09_대소문자_문제 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String dbId = "q1w2e3r4"; String dbPw = "r4e3w2q1"; String hint1 = "abcdefghijklmnopqrstuvwxyz"; String hint2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; System.out.println(">>> 로그인 <<<"); System.out.print("아이디를 입력하세요 : "); String myId = scan.next(); System.out.print("비밀번호를 입력하세요 : "); String myPw = scan.next(); scan.close(); } }
Java
복사

해설

package 문자열2_개념; import java.util.Scanner; /* [문제] 아이디와 비밀번호를 입력받고 로그인을 처리한다. 단, 아이디와 비밀번호는 (1) 대문자로 입력하던 (2) 소문자로 입력하던 (3) 대소문자를 섞어서 입력하던 전부 동일하게 인식되어야 한다. */ public class 문자열2_개념09_대소문자_정답 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String dbId = "q1w2e3r4"; String dbPw = "r4e3w2q1"; String hint1 = "abcdefghijklmnopqrstuvwxyz"; String hint2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; System.out.println(">>> 로그인 <<<"); System.out.print("아이디를 입력하세요 : "); String myId = scan.next(); System.out.print("비밀번호를 입력하세요 : "); String myPw = scan.next(); boolean check = true; if(dbId.length() == myId.length() && dbPw.length() == myPw.length()) { // 아이디 검사 for(int i=0; i<dbId.length(); i++) { // 아이디 문자를 한글자씩 비교해서 숫자인지 문자인지 판단 int index = -1; for(int j=0; j<hint1.length(); j++) { if(dbId.charAt(i) == hint1.charAt(j)) { index = j; break; } } if(index == -1) { // 숫자이면 if(dbId.charAt(i) != myId.charAt(i)) { check = false; break; } } else { // 문자이면 if(myId.charAt(i) != hint1.charAt(index) && myId.charAt(i) != hint2.charAt(index)) { check = false; break; } } } // 비밀번호 검사 for(int i=0; i<dbPw.length(); i++) { int index = -1; for(int j=0; j<hint1.length(); j++) { if(dbPw.charAt(i) == hint1.charAt(j)) { index = j; break; } } if(index == -1) { // 숫자이면 if(dbPw.charAt(i) != myPw.charAt(i)) { check = false; break; } } else { // 문자이면 if(myPw.charAt(i) != hint1.charAt(index) && myPw.charAt(i) != hint2.charAt(index)) { check = false; break; } } } } else { check = false; } if(check) { System.out.println("로그인 성공!"); } else { System.out.println("로그인 실패!"); } scan.close(); } }
Java
복사