반응형
package dayday13;
/*
* 회원가입 프로그램
*
* 1. 아이디
* 1) 4글자 이상 8글자 이하
*
* 2. 비밀번호
* 1) 4글자 이상 12글자 이하
* 2) 아이디랑 같으면 안됨
* 3) 입력 후 비밀번호 재입력 - 일치하지 않으면 다시 등록
*
* 3. 이메일
* 1) @가 있어야.
* 2) .com, .net, .org, .edu, .co.kr로 끝나야 함
* 3) @바로 옆에 단어가 있어야함.
* ex) aa@.com X, @naver.com X
*
* 위의 형식을 지키지 않을 시 해당 항목을 다시 입력 받도록
* 모든항목 정상 -> Thanks 회원가입 완료
*
*/
import javax.swing.JOptionPane;
class Apply {
private String id;
private String pass;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
private String email;
@Override
public String toString() {
return "회원가입 내용입니다.\n@@@@@@@@@@@@@@@\n id=" + id + "\npass=" + pass + "\nemail=" + email + "\n@@@@@@@@@@@@@@@";
}
}
public class Quiz01 {
public static void main(String[] args) {
Apply ap = new Apply();
JOptionPane.showMessageDialog(null, "회원가입 프로그램입니다.");
while (true) {
String tmp = JOptionPane.showInputDialog("아이디를 입력해주세요");
String tmpID = tmp; // 아이디 복사 - 비밀번호에 사용
if (tmp.length() >= 4 && tmp.length() <= 8) { // 1) 4글자 이상 8글자 이하
ap.setId(tmp);
/*
* 1) 4글자 이상 12글자 이하 2) 아이디랑 같으면 안됨 3) 입력 후 비밀번호 재입력 - 일치하지 않으면
* 다시 등록
*/
while (true) {
tmp = JOptionPane.showInputDialog("비밀번호를 입력해주세요");
String tmpPass = tmp; // 비밀번호 복사 - 재확인시 사용
if (tmp.length() >= 4 && tmp.length() <= 12) { // 비밀번호 길이가
// 4이상
// 12이하여야 실행
if (!tmp.equals(tmpID)) {// 아이디와 달라야 실행
tmp = JOptionPane.showInputDialog("재확인을 위해 다시한번 비밀번호를 입력해주세요");
if (tmp.equals(tmpPass)) { // 비밀번호가 같아야 실행
/*
* * 3. 이메일 1) @가 있어야. 2) .com, .net, .org,
* .edu, .co.kr로 끝나야 함 3) @바로 옆에 단어가 있어야함. ex)
* aa@.com X, @naver.com X
*/
ap.setPass(tmp);
while (true) {
tmp = JOptionPane.showInputDialog("e-mail을 입력해주세요");
if (tmp.contains("@") && (tmp.endsWith(".com") || tmp.endsWith(".net")
|| tmp.endsWith(".org") || tmp.endsWith(".edu"))) {
/*
* String[] check = {".com"///};
* if(tmp.contains(check[0]) || tmp.contains(check[0]) || tmp.contains(check[0])...){
* continue;
* } else .. "형식을 지켜주세요"
*/
if (tmp.startsWith("@") || tmp.contains("@.") || tmp.contains(".@")) {
JOptionPane.showMessageDialog(null, "형식이 올바르지 않습니다. 다시 입력하세요");
continue;
}
ap.setEmail(tmp);
JOptionPane.showMessageDialog(null, "회원가입이 완료되었습니다.");
JOptionPane.showMessageDialog(null, ap.toString());
return;
} else {
JOptionPane.showMessageDialog(null, "형식이 올바르지 않습니다. 다시 입력하세요");
continue;
}
}
} else {
JOptionPane.showMessageDialog(null, "비밀번호가 일치하지 않습니다. 다시 입력하세요");
continue;
}
} else {
JOptionPane.showMessageDialog(null, "아이디와 같게 할 수없습니다. 다시 입력하세요");
continue;
}
} else {
JOptionPane.showMessageDialog(null, "비밀번호가 너무 짧거나 깁니다. 다시 입력하세요");
continue;
}
}
} else {
JOptionPane.showMessageDialog(null, "아이디가 너무 짧거나 깁니다. 다시 입력하세요.");
continue;
}
}
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] Wrapper class 사용 예제 (0) | 2023.04.20 |
---|---|
[JAVA] String class 사용 예제 (0) | 2023.04.20 |
[JAVA] System class 사용 예제 (0) | 2023.04.20 |
[JAVA] Util package, Text Package class 사용 예제 (0) | 2023.04.20 |
[JAVA] Collection Framework 사용 예제 (0) | 2023.04.20 |