과제
2022.06.30 / Hw1
키보드를 통해서 각 회원들의 정보를 입력 받는 클래스 (MemberInput)를 작성한다.
이때 입력 받는 회원의 정보는 성명, 나이, 이메일,주소를 입력 받는다.
그리고 키보드를 입력한 회원의 정보는 새로운 회원정보를 저장하는
클래스(MemberInfo)의 멤버변수에 저장을 시킨후 출력하는 프로그램을 작성하시오.
(단, 1명의 회원정보를 입력 받아서 처리한다.
가능하면 2명 이상의 회원 정보도 입력 받아서 처리 해본다.)
MemberInfo클래스의 멤버변수를 초기화 방법을 생성자 대신에
setter 메소드를 이용해서 초기화 시켜서 프로그램을 작성하세요.
의도
객체지향 프로그래밍
객체 배열
setters를 이용한 필드의 초기화
깃허브
https://github.com/kindacool/Hw/blob/main/HW20220630/NewMemberInput.java
GitHub - kindacool/Hw
Contribute to kindacool/Hw development by creating an account on GitHub.
github.com
코드
package p2022_06_30;
import java.util.Scanner;
class NewMemberInfo {
private String name;
private int age;
private String email;
private String address;
//setters
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setEmail(String email) {
this.email = email;
}
public void setAddress(String address) {
this.address = address;
}
// 메소드
public void print() {
System.out.println("이름 : " + name + " 나이 : " + age + " 이메일 : " + email + " 주소 : " + address);
}
}
public class NewMemberInput {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
// 멤버들을 저장할 객체배열
NewMemberInfo[] members = new NewMemberInfo[5];
for (i = 0; i < members.length; i++) {
// 입력받기
// 객체배열
members[i] = new NewMemberInfo();
System.out.println("--" + (i + 1) + "번째 사람--");
System.out.print("이름 > ");
String name = sc.nextLine();
members[i].setName(name);
System.out.print("나이 > ");
int age = sc.nextInt();
members[i].setAge(age);
sc.nextLine(); // 엔터가 값으로 입력되는걸 막기위해서
System.out.print("이메일 > ");
String email = sc.nextLine();
members[i].setEmail(email);
System.out.print("주소 > ");
String address = sc.nextLine();
members[i].setAddress(address);
// 더 입력받을지 물어보기
System.out.println("계속 입력하시겠습니까? y 또는 n");
String a = sc.nextLine();
if (a.equals("y") || a.equals("Y") ) {
continue;
}else if(a.equals("n") || a.equals("N")) {
break;
}
}
// 들어있는 만큼 출력
for (int j = 0; j < (i + 1); j++) {
members[j].print();
}
}
}
출력
강사님 코드
package p2022_07_01;
import java.util.Scanner;
public class MemberInput01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 객체 배열: 객체의 주소를 저장하는 배열
MemberInfo01[] m = new MemberInfo01[5];
int i = 0;
String yn;
do {
Scanner sc = new Scanner(System.in);
System.out.print("성명을 입력하세요? ");
String name = sc.nextLine();
System.out.print("나이를 입력하세요? ");
int age = sc.nextInt();
sc.nextLine();
System.out.print("E-Mail을 입력하세요? ");
String email = sc.nextLine();
System.out.print("주소를 입력하세요? ");
String address = sc.nextLine();
// m[i] = new MemberInfo(name, age, email, address);
// m.name="홍길동";
m[i] = new MemberInfo01();
m[i].setName(name);
m[i].setAge(age);
m[i].setEmail(email);
m[i].setAddress(address);
i++;
System.out.print("계속할려면 y, 멈출려면 n을 입력?");
yn = sc.next();
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());
}
}
}
// DTO(Data Transfer Object)
class MemberInfo01 {
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 void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
'국비지원 과정 > HW' 카테고리의 다른 글
2022.07.01 / 과제1번 : 유효한 주민번호인지 확인하기 (0) | 2022.07.01 |
---|---|
2022.06.30 / 과제2번 : Calender 클래스로 연,월,일,시,분,초,요일 구하기 (0) | 2022.06.30 |
2022.06.29 / 과제1번 : 객체 배열에 회원정보 입력1, 초기화 (0) | 2022.06.29 |
2022.06.28 / 과제1번 : 중복된 숫자 없이 숫자 랜덤 추출하기 (0) | 2022.06.28 |
2022.06.27 / 과제2번 : 구구단을 2차원 배열에 저장하고 출력하기 (0) | 2022.06.27 |