[java]패스워드 입력 시 체크

  • 문자열 패스워드 입력
final String USER_PASSWORD = "abcd"; 		 _// final이 있으면 변수명을 되도록이면 대문자로_	

System.out.print("비번 입력하세요 > ");

Scanner scanner = new Scanner(System.in);
String password = scanner.nextLine(); 		_// 문자열이면 nextLine(), 숫자는 nextInt()_
scanner.close();

if (password.equals(USER_PASSWORD)) {
	System.out.print("접속승인");
}else {
	System.out.print("접속불가");
}

  • 패스워드 3회 실패시 접속불가
final String USER_PASSWORD = "abcd";
String password = "";
boolean accessOK = false;  

Scanner scanner = new Scanner(System.in);

for (int i = 1; i <=3; i++) {
	System.out.print("비번을 입력하세요");
	password = scanner.nextLine();
    
    if(password.equals(USER_PASSWORD)) {
    	System.out.println("접속승인")
        boolean access = true;  	_// 마지막 if절 접속거부 안나오도록_
        break; 				_// break를 안쓰면 for은 반복돼서 다시 '비번을 입력하세요' 가 뜬다_
     }else {
     	System.out.printf("접속불가 비번 %d번 틀림",i);
     }
}	
    scanner.close();  			_// for문 밖으로 , 입력 3번 다 받고 종료_
    
    
    
    if (!access) {			_//else의 false가 된 상태로 if(true){접속거부}문 나옴_
    	System.out.println("접속거부");
    }
}


  • do While문으로 패스워드 입력

do while은 처음 한번은 조건과 상관없이 실행

final String USER_PASSWORD = "abcd";

Scanner scanner = new Scanner(System.in);

String password = "";

do {
	System.out.print("비번 입력하세요");
    password = scanner.nextLine();
} while (password.equals(USER_PASSWORD) == false);	// true이면 do while반복, false이면 반복문 빠져나옴
// 또는 !password.equals(USER_PASSWORD) == true;	// 같지 않은게 true , 같으면 false 

scanner.close();
System.out.println("접속승인");

좋은 웹페이지 즐겨찾기