본문 바로가기
문제를 풀어보자

JAVA) 자바의 정석 기초편 7-5 연습문제 풀이

by 휴일이 2022. 10. 9.

 

7-4는 쉬운 문제라

(멤버 변수를 클래스 외부에서 접근 못하게 하고->private

멤버 변수들의 값을 읽고 쓰는 getter setter 메소드 만들기)

 

7-4를 바탕으로 한

7-5번을 풀어보았다

 

 

Q) 연습문제 7-4에서 작성한 MyTv클래스에

이전 채널(previous channel)로 이동하는 기능의 메소드를 추가해서

실행 결과와 같은 결과를 얻도록 하시오

 

메소드명 : gotoPrevChannel

기능 : 현재 채널을 이전 채널로 변경한다

반환 타입 : 없음

매개 변수 : 없음

 

 

<실행 결과>

CH : 10

CH : 20

CH : 10

CH : 20

 

 

 

풀이

package excercise7_4;

class MyTv {

    private boolean isPowerOn;
    private int channel;
    private int volume;
    private int c;

    private int save;

    final int MAX_VOLUME = 100;
    final int MIN_VOLUME = 0;
    final int MAX_CHANNEL = 100;
    final int MIN_CHANNEL = 1;

    public boolean isPowerOn() {
        return isPowerOn;
    }

    public void setPowerOn(boolean powerOn) {
        isPowerOn = powerOn;
    }

    public int getChannel() {
        return channel;
    }



    public int getVolume() {
        return volume;
    }

    public void setVolume(int volume) {
        this.volume = volume;
    }
    public void setChannel(int channel) {
        save = this.channel; //채널이 가지고 있는 값을 save에 넣음(이전 채널 저장 장소)
        this.channel = channel; //새로운 채널을 입력 받음

    }
    public void gotoPerChannel() {
        c = this.channel; //지금 채널을 c로 넣음
        this.channel = save; //이전 채널을 새로 저장
        save=c; //지금 채널은 save에 저장

    }



}

public class Excercise7_4 {
    public static void main(String[] args) {

        MyTv t = new MyTv();

        t.setChannel(10);
        System.out.println("CH : "+t.getChannel());
        t.setChannel(20);
        System.out.println("CH : "+t.getChannel());
        t.gotoPerChannel();
        System.out.println("CH : "+t.getChannel());
        t.gotoPerChannel();
        System.out.println("CH : "+t.getChannel());


    }
}

 

 

 

실행 결과

 

 

저는 벌레입니다

728x90