새소식

💻 Computer/🦀 Java

인력 관리소 문제 (java)

  • -
// 문제 : 아래가 실행되도록 해주세요.
// 조건 : 배열을 사용할 수 없습니다.

class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}
class 사람{
  String name;
  int age, count;
  
  // 이름, 나이, 번호 초기화
  public 사람(String name, int age, int count){
    this.name = name;
    this.age = age;
    this.count = count;
  }
  
  //자기소개 함수
  public void 자기소개(){
    System.out.printf("%d번 %s %d\n", count ,name, age);
  }
}

//사람인력관리소 클래스

class 사람인력관리소{

  //카운트
  int count;

  //처음 사람마다 클래스를 지정 (나중에 다시 보내주기 위한)
  사람 사람1;
  사람 사람2;
  사람 사람3;

  // add사람 함수
  public void add사람(String name, int age){
    //함수 호출시 마다 count 1씩증가
    count++;

    //각 번호에 맞게 이름 나이 카운트를 ClassMethod함수를 통해 객체 생성 
    if(count == 1)
      사람1 = classMethod(name, age, count);
    else if(count == 2)
      사람2 = classMethod(name, age, count);
    else if(count == 3)
      사람3 = classMethod(name, age, count);
  }

  //사람 객체를 만들어 주는 함수 (함수의 목적:바복을 줄이기위해 만들음)
  public 사람 classMethod(String name, int age, int count){
    return new 사람(name, age, count);
  }

  //get사람 함수 (숫자를 받아서 기존에 만든 사람1,2,3 와 만들어진 a사람1,2,3 을 매치시켜 새로운 객체를 생성)
  public 사람 get사람(int num){
    if(num == 1)
      return 사람1;
    else if(num == 2)
      return 사람2;
    else if(num == 3)
      return 사람3;
    return null;
  }
}

'💻 Computer > 🦀 Java' 카테고리의 다른 글

(Java) 다형성  (0) 2022.07.03
java 숫자인지 판별  (0) 2022.07.02
(Java) Class 상속  (0) 2022.06.18
(Java) Class 기초  (0) 2022.06.11
(Java) 함수 기초  (0) 2022.06.11
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.