과제
2022.06.29 / Hw1
        키보드를 통해서 각 회원들의 정보를 입력 받는 클래스(MemberInput)를 작성한다. 
        이때 입력 받는 회원의 정보는 성명, 나이, 이메일, 주소를 입력 받는다. 
        그리고 키보드로 입력한 회원의 정보는 새로운 회원정보를 저장하는

        클래스(MemberInfo)의 멤버변수에 저장을 시킨후 출력하는 프로그램을 작성하시오.
        (단, 1명의 회원정보를 입력 받아서 처리한다. 
         가능하면 2명 이상의 회원 정보도 입력 받아서 처리 해본다.)

 

 

의도

객체지향 프로그래밍

생성자를 이용한 필드의 초기화

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220629/MemberInput.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_06_29;

import java.util.Scanner;

class MemberInfo {

	private String name;
	private int age;
	private String email;
	private String address;

	// 생성자
	public MemberInfo(String name, int age, String email, String address) {
		this.name = name;
		this.age = age;
		this.email = email;
		this.address = address;
	}

	// 메소드
	public void print() {
		System.out.println("이름 : " + name + " 나이 : " + age + " 이메일 : " + email + " 주소 : " + address);
	}

}

public class MemberInput {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		//멤버들을 저장할 객체배열
		MemberInfo[] members = new MemberInfo[3];

		for (int i = 0; i < members.length; i++) {
			// 입력받기
			System.out.println("--" + (i + 1) + "번째 사람--");
			System.out.print("이름 > ");
			String name = sc.nextLine();

			System.out.print("나이 > ");
			int age = sc.nextInt();

			sc.nextLine(); // 엔터가 값으로 입력되는걸 막기위해서

			System.out.print("이메일 > ");
			String email = sc.nextLine();

			System.out.print("주소 > ");
			String address = sc.nextLine();

			// 저장하기
			members[i] = new MemberInfo(name, age, email, address);

		}

		//전체 출력
		for (int i = 0; i < members.length; i++) {
			members[i].print();
		}

	}

}

 

 

출력

 

 

강사님 코드

package p2022_06_30;

import java.util.Scanner;

public class MemberInput {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 객체 배열
		MemberInfo[] m = new MemberInfo[5];
		int i = 0;
		String yn;
		Scanner sc = new Scanner(System.in);
		String name, email, address;
		int age;
		do {
			System.out.print("성명을 입력하세요? ");
			name = sc.nextLine();
			System.out.print("나이를 입력하세요? ");
			age = sc.nextInt(); // 숫자를 입력받은후에 enter키를
			sc.nextLine(); // 누르면 null값을 return하게 됨
			System.out.print("E-Mail을 입력하세요? ");
			email = sc.nextLine();
			System.out.print("주소를 입력하세요? ");
			address = sc.nextLine();

			m[i] = new MemberInfo(name, age, email, address);
			// m.name="홍길동";
			i++;

			System.out.print("계속할려면 y, 멈출려면 n을 입력?");
			yn = sc.nextLine();
			if (yn.equals("y") || yn.equals("Y")) {
				continue;
			} else if (yn.equals("n") || yn.equals("N")) {
				break;
			}

		} while (true);

		for (int j = 0; j < i; j++) {
			System.out.println("성명:" + m[j].getName());
			System.out.println("나이:" + m[j].getAge());
			System.out.println("E-Mail:" + m[j].getEmail());
			System.out.println("주소:" + m[j].getAddress());
		}
	}

}

class MemberInfo {
	private String name;
	private int age;
	private String email;
	private String address;

	public MemberInfo(String name, int age, String email, String address) {
		this.name = name;
		this.age = age;
		this.email = email;
		this.address = address;
	}

	public String getName() {
		return name;
	}

	public int getAge() {
		return age;
	}

	public String getEmail() {
		return email;
	}

	public String getAddress() {
		return address;
	}

}

 

+ Recent posts