입력값을 받아 회원 가입을 할 수 있게 하고 ID를 검색 할 수 있게 해라.
① VO 객체 클래스를 정의한다
package 회원가입;
public class member5 {
private String id;
private String pwd;
private String name;
private String emai;
// source -> Generate Constructor using Fields
public member5(String id, String pwd, String name, String emai) {
super();
this.id = id;
this.pwd = pwd;
this.name = name;
this.emai = emai;
}
// source -> Generate Getters and Setters
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmai() {
return emai;
}
public void setEmai(String emai) {
this.emai = emai;
}
// source -> override/implement method
@Override
public String toString() { // 손으로 고치기 가능
return "member5 [id=" + id + ", pwd=" + pwd + ", name=" + name + ", emai=" + emai + "]";
}
}
② 원하는 프로그램 사용자정의 클래스로 구현한다
package 회원가입;
import java.util.Scanner;
//사용자 기능 제공 -> 원하는 값들만 개발자가 설정해서 구현 할 수 있음
public class memberservice {
private member5[] members; // member5를 배열로 만들고 그 배열 이름은 members로 한다.
private int cnt = 0; // 배열이 다 찼는지 확인 하기 위해 cnt; 변수 선언
public memberservice() { // 배열이 30개인 생성자로 초기화
members = new member5[30];
}
// 입력 값 받을 질문들
public void print1(Scanner sc) {
System.out.println("ID를 입력하시오");
String id = sc.next();
System.out.println("pwd를 입력하시오");
String pwd = sc.next();
System.out.println("이름을 입력하시오");
String name = sc.next();
System.out.println("이메일을 입력하시오");
String email = sc.next();
members[cnt] = new member5(id, pwd, name, email);
// cnt만큼의 배열을 다시 지정 해주는데 인자값으로 사용자가 입력한 값을 받는다
cnt++; // 배열이 다 찼는지 확인 하기 위해 cnt ++로 바꿔준다
}
public void printall() {
for (int i = 0; i < cnt; i++) { // cnt만큼 for문을 돌면서 members[i] 배열을 프린트
// members.length 는 왜 안되냐면 어디에는 데이터가 없을 수도 있으니가.
System.out.println(members[i]);
}
}
// 아이디 찾기 메서드 생성
public int FindId(Scanner sc) {
System.out.println("찾을 id를 입력하시오");
String input = sc.next();
for (int i = 0; i < cnt; i++) {
if (input.equals(members[i].getId())) {
// 입력받은 input과 members[i]를 equals 문자열 비교
// members[i]가 private 이라 getId 가 필요하다
System.out.println((i + 1) + "방에 있습니다");
// 왜 1을 더해 줬냐면 배열은 0번방 부터 시작하는데 사람들은 모르니까.
System.out.println(members[i]); // 이건 앞에서 정의한 toString()이 프린트 됨
return i;
}
}
System.out.println("찾는 값이 없습니다.");
// 못찾으면 상기 문구를 프린트 하고 값을 -1로 전환. 프로그램 종료.
return -1;
}
}
③ Main 클래스에 모든 것을 구현한다.
Main 에는 간단해 진 코드를 확인 할 수 있다.
package 회원가입;
import java.util.Scanner;
public class VO {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
//입력 값을 받을 스캐너를 생성
memberservice ms = new memberservice();
//사용자정의를 객체화 시킨다.
ms.print1(sc); //(sc)는 Scanner sc 의 그 sc임
ms.print1(sc);
ms.print1(sc);
ms.printall();
ms.FindId(sc);
}
}
'JAVA' 카테고리의 다른 글
[JAVA] 추상 클래스 (0) | 2023.03.04 |
---|---|
[JAVA] 객체지향 - 상속을 이용한 포켓몬 키우기 게임 (0) | 2023.03.02 |
[JAVA] 객체지향 - 상속과 배열로 간단화 (0) | 2023.03.02 |
[JAVA] 객체지향 - 클래스를 인자 값으로 받는 클래스 출력문 (0) | 2023.03.02 |
[JAVA] 객체지향 - VO 객체 클래스를 이용한 프로그래밍 (0) | 2023.03.02 |