public class Ex06 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String id, pass, birth;
System.out.println("**********회원가입**********");
int count = 0;
for (int i = 0; i < 5; i++) {
System.out.print("사용하실 아이디(단, 특수문자 사용불가): ");
id = sc.nextLine().trim(); // 앞뒤공간제거후 입력받는다
char[] ch = new char[id.length()];
for (int j = 0; j < id.length(); j++) {
ch[j] = id.charAt(j);
if (!(Character.isDigit(ch[j])) && !(Character.isLetter(ch[j])) && Character.isDefined(ch[j])) {
// 숫자가 아니고, 문자가아니고, 유니코드인 경우(특수문자)
count++;
}
}
if (count > 0) {
System.out.println("실패하셨습니다. 다시 입력하십시요.");
count=0;
} else {
System.out.println("아이디 " + id + " 사용하셔도 좋습니다.");
break;
}
if(i==4){
System.out.println("다시 처음부터 시작하십시오");
return;
}
}// for end
for (int i = 0; i < 5; i++) {
System.out.print("패스워드: ");
pass = sc.nextLine().trim(); // 패스워드 입력
int m = password(pass);
if (m == 0) {
break;
} // 리턴이 0이면 반복문종료
if(i==4){
System.out.println("다시 처음부터 시작하십시오");
return;
}
}// for end
System.out.print("생년월일(ex.901231): ");
birth = sc.nextLine().trim();
Birth(birth);
}//main end
public static int password(String pass){
char[] ch = new char[pass.length()];
int count=0;
for(int i=0;i<pass.length();i++){
count=0;
ch[i] = pass.charAt(i);
if(!(Character.isUpperCase(ch[i]))){
count++;
}else if(Character.isLowerCase(ch[i])){
count++;
}else if(Character.isDigit(ch[i])){
count++;
}else{
break;
}
}
if(count>0){
System.out.println("대문자 소문자 숫자로 조합을 하셔야 합니다.");
return 1;
}
if(Character.isDigit(ch[0])){
System.out.println("첫글자는 문자이여야 합니다.");
return 1;
}
if(pass.length()<8){
System.out.println("8자 이상이여야 합니다.");
return 1;
}
return 0;
}//password end
public static void Birth(String birth){
if(Character.isDigit(Integer.parseInt(birth)) || (birth.length()!=6)){
System.out.println("잘못입력하셨습니다.");
}else{
System.out.println("회원가입되셨습니다.");
}
}
}//class end