티스토리 뷰

728x90


안녕하세요. 킨드레드입니다.


사실 이거 저번주 주중에 공부해서

만들어냈던건데.. 그 이후로 강좌를

잘 못 듣고 있네요..


아무튼, 스스로 알아내서 만든 예제입니다.



지정된 아이디와 패스워드 데이터를

입력하면 로그인하는 명령인데요.





import java.util.Scanner


class idtest011

{ public static void main(String[] args)

{ String ID, PW; //아이디와 비밀번호 입력을 위해 생성된 객체


String data1="ddorong";

String data2="123123"//데이타 1,2에 아이디와 비밀번호를 넣어둠.


Scanner scn1 = new Scanner(System.in);

Scanner scn2 = new Scanner(System.in); //입력형 스캐너 생성



do

{


System.out.println("아이디를 입력해주세요");

ID = scn1.next(); //아이디를 입력


}

while (!(data1.equals(ID))); //아이디와 불일치하게되면 아이디를 계속 입력하게함




do //일치시 비밀번호 입력

{


System.out.println("비밀번호를 입력해주세요");

PW = scn2.next();


}

while (!(data2.equals(PW))); //위와 동일한 프로세스


System.out.println("인증 완료!");

}

}


실행화면



처음에 do while 문에서 

! 연산자를 통하여 왜 부정형으로

바꾸어야 하는지 스스로 만들어

놓고도 몰라서 계속해서 머리를 싸고

해맸는데, 지식인을 통해 시원하게 해결했습니다.



while은 참인동안 계속해서

do의 실행을 반복하므로, 부정형을 통해


ID와 data1이 동일할 때 참임에도

불구하고 계속해서 입력을 요구할 수 있으니

!를 통해 빠져나오게합니다.


그리고 ID와 data2가 거짓일 때에는

계속해서 입력을 요구해야하므로

! 연산자를 통해 참으로 바꿔주어

do를 계속적으로 실행하게 만들어줍니다.



이렇게 해서 그냥 나름대로의

do while 그리고 문자열 비교 equals문을

이용해 입력한 데이터와 지정된 데이터가

동일한지 여부를 확인해 로그인하는

알고리즘을 만들어보았네요.



728x90
반응형