A. Worker라는 클래스를 하나만든다.
B. 다른 클래스에서 접근이 불가능하도록 접근 제한자를 설정한다.(필요한 필드값)
C. 각 필드명과 타입은 아래의 실행결과를 참조하도록 한다.
D. 필드전체를 인자로 받는 생성자를 작성한다.
E. 각 필드의 값을 세팅하기 위한 setter 메소드를 작성한다.(초기화)
F. 각 필드의 값을 가져오기 위한 getter 메소드를 작성한다.(반환)
G. 사용자에게 메뉴를 보여주고 사용자가 콘솔 상에서 특정 메뉴를 입력하여 요청하면 해당 요청을 처리하는 기능을 가지고 있는 클래스를 작성하도록 한다.
실행결과)
<사원 정보 관리 프로그램>
1. 사원정보 입력
2. 사원정보 개별 조회
3. 프로그램 종료
1번 입력 시,
사번: 123
이름: 홍길동
부서: 개발부서
주소: 서울시 용산구
생일: 10/26
사원정보가 입력되었다.
2번 입력 시,
검색하고자 하는 사원의 사번은? 123(입력)
이름: 홍길동
부서: 개발부서
주소: 서울시 용산구
생일: 10/26
3번 입력 시 "프로그램 종료" 라고 출력
더보기
전체코드
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
class Worker {
private int id;
private String name;
private String part;
private String addr;
private String birth;
Worker(int id, String name, String part, String addr, String birth) {
this.id = id;
this.name = name;
this.part = part;
this.addr = addr;
this.birth = birth;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPart() {
return part;
}
public void setPart(String part) {
this.part = part;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String toString() {
return "이름:" + getName()+ "\n사번:" + getId() + "\n부서:" + getPart() +
"\n주소:" + getAddr() + "\n생일:" + getBirth();
}
void show() {
System.out.println(
"이름:" + getName() + "\n부서:" + getPart() +
"\n주소:" + getAddr() + "\n생일:" + getBirth());
}
}
public class JavaTest07Worker {
public static void main(String[] args) {
HashSet<Worker> h = new HashSet<Worker>();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("<사원정보관리프로그램>");
System.out.println(
"1. 사원정보입력\n" + "2. 사원정보 개별조회\n" +
"3. 프로그램 종료\n" + "4. 전체명단조회");
int chk = sc.nextInt();
switch (chk) {
case 1:
System.out.println("사번:");
int id = sc.nextInt();
System.out.println("이름:");
String name = sc.next();
System.out.println("부서:");
String part = sc.next();
System.out.println("주소:");
String addr = sc.next();
System.out.println("생일:");
String birth = sc.next();
h.add(new Worker(id, name, part, addr, birth));
break;
// 123 세종 사무 서울시 12.5
// 456 태조 총무 부산시 10.15
case 2:
System.out.println("검색하고자 하는 사원의 사번은?");
int schId = sc.nextInt();
Iterator<Worker> it = h.iterator();
while(it.hasNext()) {
Worker num = it.next();
if(schId == num.getId()) {
num.show();
}
}
break;
case 3:
System.out.println("프로그램 종료");
return;
case 4:
System.out.println(h);
break;
}
}
}
}
728x90
728x90
'문제풀이' 카테고리의 다른 글
정보처리기사 실기 정리 (0) | 2022.07.20 |
---|---|
입력된 숫자의 합과 최대값을 구하시오 (0) | 2022.06.14 |
GUI - HashMap을 이용한 단어 입력, 검색 구현 (0) | 2022.06.08 |
이름에 해당하는 id 맞추기 게임 (0) | 2022.06.08 |
ArrayList에 랜덤 숫자 저장하기, Map에서 검색하기 (1) | 2022.06.06 |