String id = ""; // while 문 조건에 사용하기 위해 미리 초기화한다.
do{
System.out.print("\n▣ 아이디 : ");
id = sc.nextLine();
if(id.trim().isEmpty())
System.out.println(">>[경고] 아이디값을 공백이 아닌 다른 값으로 입력하세요!!\n");
Member[] arr_mbr = new Member[3];
int mbr_cnt = 0;
id:
do{
System.out.print("\n▣ 아이디 : ");
...
if~
else {
for(int i=0; i<mbr_cnt; i++) {
if(id.equals(arr_mbr[i].id)) {
System.out.println(id+"는 이미 사용중인 id 이므로 새로운 id 값을 넣으세요.");
continue id; // 아이디입력 위 레이블하기
} // end of if---------
} // end of for---------
break;
} // end of if------------
} while(true); // end of do~while--------------------------
if(passwd == null)
return false;
int length = passwd.length();
if(length < 8 || length > 15) // |는 하나라도 참이면 참, 즉 8~15 글자
return false; // or length > 8 && length <15
// 하나라도 거짓이면 거짓
boolean upper = false, lower = false, number = false, special = false;
for(int i=0; i<length; i++) {
char ch = passwd.charAt(i); // 한글이 없는 암호 만들기
if('가' <= ch && ch <= '힣') {
return false;
} // end of if------------
if(Character.isUpperCase(ch))
upper = true;
else if(Character.isLowerCase(ch))
lower = true;
else if(Character.isDigit(ch))
number = true;
else
special = true;
} // end of for-------------------------
return upper && lower && number && special; // 하나라도 false면 false
String name = "";
boolean result = false;
do{
System.out.print("▣ 성명 : ");
name = sc.nextLine();
if(name.trim().isEmpty()) {
System.out.println(">>[경고] 성명을 공백이 아닌 다른 값으로 입력하세요!!");
} // end of if-----------------
int length = name.length();
if(length < 2 || length > 6) { // or length >= 2 && length <= 6
return false;
System.out.println(">>[경고] 성명은 2글자 이상 6글자 이하이어야만 합니다.");
} // end of if-------------------
for(int i=0; i<name.length(); i++) {
char ch = name.charAt(i);
if('가' <= ch && ch <= '힣') {
result = true;
} else {
System.out.println("">>[경고] 성명은 공백이 없는 한글로만 입력하세요!! \n");
result = false; // false 를 주지 않으면 첫글자만 한글이여도 true로 나온다.
break; // false 값이 나오면 더이상 검사할 이유가 없기 때문에 반복문을 빠져나온다.
} // end of if---------------------
} // end of for----------------
} while (!result); // result 값이 참이면 빠져나온다.
Member[] arr_mbr = new Member[3];
int mbr_cnt = 0;
switch(str_menuno) {
case "1" : // 회원가입 선택할 경우
if(mbr_cnt < arr_mbr.length) {
...
Member mbr = new Member();
arr_mbr[mbr_cnt++] = mbr; // 정원 내
} else{
System.out.println(">> 정원마감되어 회원가입이 불가합니다!!\n");
} // end of if-------------------------
break; // switch 문을 빠져나간다.
Member mbr = new Member();
mbr.id = id;
mbr.passwd = passwd;
mbr.name = name;
arr_mbr[mbr_cnt++] = mbr;
if(mbr_cnt == 0) {
System.out.println(">> 가입된 회원이 없습니다. <<");
} else {
System.out.println("-----------------------------\n"
+ "아이디 비밀번호 성명 \n"
+ "-----------------------------");
for(int i=0; i<mbr_cnt; i++) {
System.out.println(arr_mbr[i].id+"\t"+arr_mbr[i].passwd+"\t"+arr_mbr[i].name+"\n");
} // end of for------------------
} // end of if-----------------
isUpperCase, isLowerCase, isDigit : https://velog.io/@jjoung-2j/isUpperCase-isLowerCase-isDigit
my.day08.c.object_array -> Main_member
my.util -> MyUtil