더 많이 실패하기

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

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

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

김발자~ 2022. 10. 3. 16:41
반응형

자바의 정석 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-1


 

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
46
class SutdaDeck {
    final int CARD_NUM = 20;
    SutdaCard[] cards = new SutdaCard[CARD_NUM];
    
    SutdaDeck() {
//        boolean isKwang = false;
        for(int i = 0; i < cards.length; i++) {
            int num = i%10 + 1;
            boolean isKwang = ((i < 10&& (num == 1||num == 3|| num == 8));
//            if((i < 10) && (num == 1||num == 3|| num == 8))
//                isKwang = true;
            cards[i] = new SutdaCard(num, isKwang);
        }
    }
}
 
class SutdaCard {
    int num;
    boolean isKwang;
    
    SutdaCard() {
        this(1true);
    }
    
    SutdaCard(int num, boolean isKwang){
        this.num = num;
        this.isKwang = isKwang;
    }
        
    public String toString() {
        return num + (isKwang ? "K":"");
    }
}
 
class Exercise7_1 {
 
    public static void main(String[] args) {
        SutdaDeck deck = new SutdaDeck();
        
        for(int i = 0; i < deck.cards.length; i++) {
            System.out.print(deck.cards[i]+",");
        }
 
    }
 
}
cs

 

주석처리한 부분은 썼다가 다른 답이 나온 부분

 

링크에 있는 모범답안과 똑같은 답안이다

 

for문을 1부터 시작해서 length+1로 해볼까 했지만 그러면 10을 출력하기 어려워져서 그대로 사용했다

 

i를 0~19까지 돌리면, 10으로 나눴을 때 각각 0~9가 출력되고 여기에 1씩 더하면 1~10이 두 번 출력된다1, 3, 8은 한 쌍 중 한 요소만 K가 붙어야 하므로 i < 10 이라는 조건을 붙인다(만약 뒤의 1,3,8에 붙어있었으면 부등호 방향은 반대)

 

 

 


 

반응형
Comments