더 많이 실패하기

자바의정석 연습문제 풀이 7장 7-11 본문

자바/자바의정석-연습문제

자바의정석 연습문제 풀이 7장 7-11

김발자~ 2022. 10. 7. 20:47
반응형

자바의 정석 3판 연습문제 풀이

 

연습문제 파일은 아래 링크에서 다운받을 수 있다

https://github.com/castello/javajungsuk3/tree/master/%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4

 

GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition

soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition

github.com

 

 

http://www.yes24.com/Product/Goods/24259565

 

Java의 정석 - YES24

최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아

www.yes24.com

자바의 정석 저자 남궁성 님이 직접 올려주신 문제다

 


7장은 총 29문제로 구성되어 있다

 


7-11


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class MyTv2 {
    private boolean isPowerOn;
    private int channel;
    private int volume;
    private int prevChannel;    //제어자 얘기 없어서 private 안 붙였다
    
    final int MAX_VOLUME = 100;
    final int MIN_VOLUME = 0;
    final int MAX_CHANNEL = 100;
    final int MIN_CHANNEL = 1;
    
    public void setChannel(int channel) {
        if(channel > MAX_CHANNEL || channel < MIN_CHANNEL)
            return;
        
        prevChannel = this.channel;    //바꾸기 전 채널 저장
        this.channel = channel;
    }
    
    public int getChannel() {
        return channel;
    }
    
    
    public void gotoPrevChannel() {
        setChannel(prevChannel);
    }
}
public class Exercise7_10_11 {
 
    public static void main(String[] args) {
        MyTv2 t = new MyTv2();
        
        t.setChannel(10);
        System.out.println("CH:"+t.getChannel());
        t.setChannel(20);
        System.out.println("CH:"+t.getChannel());
        t.gotoPrevChannel();
        System.out.println("CH:"+t.getChannel());
        t.gotoPrevChannel();
        System.out.println("CH:"+t.getChannel());
    }
 
}
 
cs

 

문제에서 메서드 반환타입이 없으므로 직접 prevChannel을 출력하는 게 아니라 setChannel 메서드를 넣어줘야 한다

 

 

 


 

 
반응형
Comments