본문 바로가기
Java

2022-08-25 자바 수업 문제 풀이 (Arrlist 및 생성자)

by allwing12 2022. 8. 26.

 

// 문제 : 아래가 실행되도록 해주세요.
// 조건 : 배열을 사용할 수 없습니다.
package com.example.MyJavaProject;
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 사람인력관리소 {
    사람 a사람0;
    사람 a사람1;
    사람 a사람2;
    int 마지막_사람_번호;
    사람인력관리소() {
        마지막_사람_번호 = 0;
    }
    void add사람(String 이름, int 나이) {
        int 번호 = 마지막_사람_번호 +1;
        사람 a사람 = new 사람();
        a사람.이름 = 이름;
        a사람.나이 = 나이;
        a사람.번호 = 번호;
        System.out.printf("나이가 %d살인 %d번째 사람(%s)이 추가 되었습니다.\n", 나이,번호,이름);
        if (번호 == 1){
            a사람0 = a사람;
        } else if (번호 == 2){
            a사람1 = a사람;
        } else if (번호 == 3) {
            a사람2 = a사람;
        }
        마지막_사람_번호++;
    }
    사람 get사람(int 번호){
        if (번호 == 1){
            return a사람0;
        } else if (번호 == 2) {
            return a사람1;
        } else if (번호 == 3) {
            return a사람2;
        }
        return null;
    }



}
class 사람 {
    String 이름;
    int 나이;
    int 번호;
    
    public void 자기소개() {
        System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
    }
}

 

 

// 문제 : 아래가 실행되도록 해주세요.
// 조건 : 배열을 사용할 수 없습니다.
package com.example.MyJavaProject;
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 사람인력관리소 {
    사람[] 사람들 = new 사람[100];
    int 마지막_사람_번호;
    사람인력관리소() {
        마지막_사람_번호 = 0;
    }
    void add사람(String 이름, int 나이) {

        사람 a사람 = new 사람();
        a사람.이름 = 이름;
        a사람.나이 = 나이;
        a사람.번호 = 마지막_사람_번호;
        System.out.printf("나이가 %d살인 %d번째 사람(%s)이 추가 되었습니다.\n", 나이,마지막_사람_번호+1,이름);
        사람들[마지막_사람_번호] = a사람;
        마지막_사람_번호++;
    }
    사람 get사람(int 번호){
        return 사람들[번호-1];

    }
}
class 사람 {
    String 이름;
    int 나이;
    int 번호;

    public void 자기소개() {
        System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
    }
}
package com.example.MyJavaProject;
class Main {
    public static void main(String[] args) {

        System.out.println(new 사람().a왼팔.길이 + "cm");
        // 출력 : 100cm
    }
}
class 사람 {
    사람 () {
        a왼팔 = new 팔(); // 생성자를 활용하여 사람 클래스에 바로 왼팔이라는 값 넣기
    }
    팔 a왼팔;

}
class 팔 {
    int 길이;
    팔 () {
        길이 = 100; // 생성자 활용하여 팔의 길이에 100을 바로 넣기
    }
}

 

package com.example.MyJavaProject;
// 문제 : 아래와 같이 출력 되도록 해주세요.
// 조건 : 생성자를 단 1개만 사용해주세요.

class Main {
    public static void main(String[] args) {
        int 엄지손가락_길이 = new 사람().a왼팔.a손.a엄지손가락.길이;

        System.out.println(엄지손가락_길이 + "cm");
        // 출력 : 5cm
    }
}
class 사람 {
    사람 () {
        a왼팔 = new 팔();
        a왼팔.a손 = new 손();
        a왼팔.a손.a엄지손가락 = new 손가락();
        a왼팔.a손.a엄지손가락.길이 = 5;
    } // 사람 이라는 생성자 하나에 모든 값을 다 넣는것

    팔 a왼팔;

}
class 팔{
    손 a손;
}
class 손{
    손가락 a엄지손가락;
}
class 손가락{
    int 길이;
}

댓글