パスワード[java]入力時チェック

1990 ワード

  • 文字列パスワード
  • を入力
    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文
  • dowhile初回実行時は条件に関係なく
    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("접속승인");