FireDrago
[java] 참조변수 배열로 회원가입 구현하기 본문
객체지향 개념을 이용하여 회원가입 데이터를 저장하는 참조변수 배열을 만들어 보자
import java.util.Scanner;
class Member {
String id;
String pwd;
String name;
}
public class Save_member {
public static void main (String [] args) {
Scanner sc = new Scanner (System.in);
Scanner ss = new Scanner (System.in);
System.out.println("만들 회원의 명수를 입력하세요");
int count = sc.nextInt();
Member [] mem = new Member [count];
for (int i=0; i< mem.length; i++ ) {
Member newmem = new Member();
System.out.println("id를 입력하세요");
newmem.id = ss.nextLine();
System.out.println("pwd를 입력하세요");
newmem.pwd = ss.nextLine();
System.out.println("name을 입력하세요");
newmem.name = ss.nextLine();
mem[i] = newmem;
}
for (int i=0; i<mem.length; i++) {
Member tmp = mem[i];
System.out.println((i+1)+"번째 회원님의 id : "+tmp.id);
System.out.println((i+1)+"번째 회원님의 pwd : "+tmp.pwd);
System.out.println((i+1)+"번째 회원님의 name : "+tmp.name);
}
}
1. 회원 정보 클래스 정의
class Member {
String id;
String pwd;
String name;
}
회원 정보는 String 타입으로 id, pwd, name 정도만 넣자
2. 필요한 변수준비
public class Save_member {
public static void main (String [] args) {
Scanner sc = new Scanner (System.in);
Scanner ss = new Scanner (System.in);
System.out.println("만들 회원의 명수를 입력하세요"); //입력받기 전 가이드
int count = sc.nextInt();
Member [] mem = new Member [count]; // 회원들을 실제로 담을 배열
Scanner 클래스를 2개만든 이유는 int 타입을 담을 객체, String 타입을 담을 객체를 따로 만들어 준것이다. 아니면 오류남
회원가입 받을 사람 수를 사용자로부터 입력 받을 수 있도록 했다.
입력받은 명수만큼 mem 배열의 크기가 정해진다.
밑에서 Member 객체를 임시로 만들어서 변수값을 입력한뒤 최종적으로 mem 배열에 대입해줄거임
(입력받기 전에는 사용자에게 가이드 준다. 알려줘야 입력하지...)
3. 회원가입 정보를 받아 저장하기
for (int i=0; i< mem.length; i++ ) {
Member newmem = new Member(); // 일시적으로 인스턴스의 변수 대입하기위해 생성
System.out.println("id를 입력하세요");
newmem.id = ss.nextLine();
System.out.println("pwd를 입력하세요");
newmem.pwd = ss.nextLine();
System.out.println("name을 입력하세요");
newmem.name = ss.nextLine();
mem[i] = newmem; // 처리된 객체의 주소를 미리 만들어둔 참조변수 배열에 할당
} // newmem은 다음 반복이 시행될때 새로운 객체의 주소가 덮어씌워진다.
일시적으로 Member 클래스를 생성한다 (newmem) 이를 통해 객체의 변수에 값을 입력받아 넣는다.
다음 반복문의 실행에서 newmem 변수는 새로운 객체를 참조하게 될것이므로
마지막에 mem배열에 newmem 객체를 저장해준다.
한번의 반복문이 끝나면 newmem에는 새로운 객체의 주소가 덮어씌워 질 것이다.
4. 잘 됐는지 확인하기
for (int i=0; i<mem.length; i++) {
Member tmp = mem[i]; //출력하기 위해 일시적으로 담기
System.out.println((i+1)+"번째 회원님의 id : "+tmp.id);
System.out.println((i+1)+"번째 회원님의 pwd : "+tmp.pwd);
System.out.println((i+1)+"번째 회원님의 name : "+tmp.name);
System.out.println("-----------------------------------");
}
최종적으로 배열에 잘 저장되었는지 출력문을 통해 확인하자
5. 콘솔창에서 실행
만들 회원의 명수를 입력하세요
2
id를 입력하세요
1
pwd를 입력하세요
2
name을 입력하세요
3
id를 입력하세요
4
pwd를 입력하세요
5
name을 입력하세요
6
1번째 회원님의 id : 1
1번째 회원님의 pwd : 2
1번째 회원님의 name : 3
-----------------------------
2번째 회원님의 id : 4
2번째 회원님의 pwd : 5
2번째 회원님의 name : 6
-----------------------------
잘 된다. 굿!
'프로그래밍 > Java' 카테고리의 다른 글
| [java] 버블정렬 알고리즘 (0) | 2023.04.25 |
|---|---|
| [java] 피라미드, 역피라미드 만들기 (0) | 2023.04.24 |
| [java] 배열의 합 , 2차배열 입출력 (0) | 2023.04.21 |
| [java] 04 반복문의 활용 , 05 배열의 선언과 초기화 (0) | 2023.04.20 |
| [java] chapter 04 제어문 (0) | 2023.04.19 |
