728x90

JAVA 제어문 - 8.1. 종합응용 1

 

String[] users = {"egoing","jinhuck","youbin"};

[] 배열로 유저id 목록 전체를 관리하고

 

String inputId = args[0];

로그인시, 유저에게 아이디를 입력 받음

 

boolean isLogined = false;

로그인 여부 체크

플래그(flag) 변수 사용

 

for(int i=0; i<users.length; i++) {

for 반복 & 카운트 변수 초기화

users변수의 배열 길이만큼 for 반복

카운트변수i +1씩해서 카운트

 

String currentId = users[i];

새로 변수설정 currentId

users[i] 반복문 카운트i 올라가면서 users 배열에 있는 인덱스번호가 같이 올라가면서 반복문이 반복될 때마다 배열 안에 있는 str데이터값이 바뀌게 되고 하나씩 체크할 있게됨

 

 if (currentId.equals(inputId)) {

String[] users = {"egoing","jinhuck","youbin"}; 여기 유저 전체목록에서 유저가 로그인하기 위해서 입력한 아이디와  첫번째 유저아이디부터 차례대로 대조하여 맞는게 있는지 확인하는 과정

 

isLogined = true;
break;

로그인이 확인되었다는 의미의 플래그(flag) 변수. 로그인 되었으니 유저id찾는 반복문 종료

 

		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
			}

isLogined true이므로 if문이 작동하여 유저 환영 문구인 master!! 출력

 

public class flow_control08_1 {
	public static void main(String[] args) {

		String[] users = {"egoing","jinhuck","youbin"};
		String inputId = args[0];              # users목록 중에 inputId가 들어온게 있는 체크해야함
		
		boolean isLogined = false;             # 로그인 여부 확인. 로그인 아직안됬기에  false
		for(int i=0; i<users.length; i++) {    # 전체 유저수보다 작게 반복문실행해서 유저목록중에 로그인할려는 유저 찾기
			String currentId = users[i];       # currentId : 현재유저
			if (currentId.equals(inputId)) {   # currentId와 inputId가 같으면 true되서 if문 발동
				isLogined = true;              # 위의 불리안과 연결되어 로그인됬으니(true) 종료시킴. 이런걸 플래그(flag)변수라고함
				break;                         # 일치하는 사람이 있으면 반복문 종료
			}
		}
        
		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
			}
	}
}

 

 

 플래그(flag) 변수 

프로그래밍에서는 상태를 기록하고 처리 흐름을 제어하기 위한 boolean타입 변수를 의미

참과 거짓을 나타내주는 플래그

 

 

 



 

 

 

JAVA 제어문 - 8.1. 종합응용 2

1에서 명단만 있던 것에서 비밀번호 기능 추가해보는 수업

 

※ 2차원 배열(array)

배열 안에 배열

ex)

String[][] users = {
	{"egoing","1111"}
}

 

 

 1편에서 추가된 코드 디테일 해석

String inputPass = args[1]; // pw 인자

String inputId = args[0]; 에서 id를 유저로부터 입력 받는 코드였고, 위는 pw

 

if (
		current[0].equals(inputId) && # and 논리연산자 : 둘 다 만족
		current[1].equals(inputPass)  # ID랑 PW 둘다 같다면 로그인시키는 코드
			)

for문 안에서 if문으로 id와 pw 같은지 체크. and 논리연산자(&&)를 사용하여 id와 pw 둘 다 맞는지 확인한다

 

 

 

 

728x90
반응형

+ Recent posts