๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1. Java ์ž๋ฐ”/1_0. ์ฑ…, ๊ฐ•์˜

๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ 4์žฅ 241~247์ชฝ ์—ฐ์Šต๋ฌธ์ œ ์‹ค์Šต๋ฌธ์ œ ์ •๋‹ต

by ๋น„์†Œ์•ผ 2024. 4. 1.
728x90

๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ 4์žฅ 241~247์ชฝ ์—ฐ์Šต๋ฌธ์ œ ์‹ค์Šต๋ฌธ์ œ ์ •๋‹ต

luxury java programming ch4 p241~247 exercise practice correct answer

 

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
class TV { // TV ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int size; // private intํ˜• ๋ฉค๋ฒ„๋ณ€์ˆ˜ size ์„ ์–ธ
    private int year; // private intํ˜• ๋ฉค๋ฒ„๋ณ€์ˆ˜ year ์„ ์–ธ
    private String manufacturer; // private Stringํ˜• ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ ์„ ์–ธ
    
    public TV() {} // public์œผ๋กœ ์„ ์–ธ๋œ ๊ธฐ๋ณธ์ƒ์„ฑ์ž
    public TV(String manufacturer, int year, int size) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String, int, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž
        this.manufacturer = manufacturer; // ๋งค๊ฐœ๋ณ€์ˆ˜ manufacturer๋ฅผ ๋ฉค๋ฒ„๋ณ€์ˆ˜ manufacturer์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.year = year; // ๋งค๊ฐœ๋ณ€์ˆ˜ year๋ฅผ ๋ฉค๋ฒ„๋ณ€์ˆ˜ year์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.size = size; // ๋งค๊ฐœ๋ณ€์ˆ˜ size๋ฅผ ๋ฉค๋ฒ„๋ณ€์ˆ˜ size์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ด๊ฐ’์ด ์—†๋Š” ๋ฉค๋ฒ„ํ•จ์ˆ˜ show() ์ •์˜ ์‹œ์ž‘
        System.out.println(manufacturer + "์—์„œ ๋งŒ๋“  " + year + "๋…„ํ˜• " + size + "์ธ์น˜ TV"); // ๋ฉค๋ฒ„๋ณ€์ˆ˜ manufacturer, year, size์— ์ €์žฅ๋œ ๊ฐ’ ์ถœ๋ ฅ
    }
}
 
public class Ch4_1 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_1 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        TV myTV = new TV("LG"201732); // TV ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ myTV ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String, int, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        myTV.show(); // myTV ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„ํ•จ์ˆ˜ show() ํ˜ธ์ถœํ•˜์—ฌ ์ถœ๋ ฅ
        
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
cs

 

2. ๋‹ต:

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
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Grade { // default๋กœ ์„ ์–ธ๋œ Grade ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘ 
    private int math; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ math ์„ ์–ธ
    private int science; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ science ์„ ์–ธ 
    private int english; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ english ์„ ์–ธ
    private int average; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ average ์„ ์–ธ
    
    public Grade(int math, int science, int english) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int, int, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž 
        this.math = math; // ๋งค๊ฐœ๋ณ€์ˆ˜ math๋ฅผ ๊ฐ์ฒด์˜ ํ•„๋“œ math์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.science = science; // ๋งค๊ฐœ๋ณ€์ˆ˜ science๋ฅผ ๊ฐ์ฒด์˜ ํ•„๋“œ science์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.english = english; // ๋งค๊ฐœ๋ณ€์ˆ˜ english๋ฅผ ๊ฐ์ฒด์˜ ํ•„๋“œ english์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    
    public int average() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ด๊ฐ’์ด intํ˜•์ธ average() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.average = (math + + science + english)/3//3๊ณผ๋ชฉ ํ‰๊ท  ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ์ฒด ํ•„๋“œ average์— ๋Œ€์ž…์—ฐ์‚ฐ
        return average; // ๊ฐ์ฒด ํ•„๋“œ average ๋ฆฌํ„ด
    }
}
 
public class Ch4_2 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_2 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ์œ„ํ•ด scanner ๊ฐ์ฒด ์ƒ์„ฑ
        
        System.out.print("์ˆ˜ํ•™, ๊ณผํ•™, ์˜์–ด ์ˆœ์œผ๋กœ 3๊ฐœ์˜ ์ ์ˆ˜ ์ž…๋ ฅ>>"); // ์ ์ˆ˜ ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int math = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ math ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋กœ ์ดˆ๊ธฐํ™” 
        int science = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ science ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋กœ ์ดˆ๊ธฐํ™” 
        int english = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ english ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋กœ ์ดˆ๊ธฐํ™” 
        
        Grade me = new Grade(math, science, english); // Grade ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ me ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int, int, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜์—ฌ ์ดˆ๊ธฐํ™” 
        System.out.println("ํ‰๊ท ์€ " + me.average()); // ๊ฐ์ฒด me์˜ ๋ฉ”์†Œ๋“œ average() ํ˜ธ์ถœํ•˜์—ฌ ํ‰๊ท  ์ถœ๋ ฅ
        
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

3. ๋‹ต:

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
public class Song { // public์œผ๋กœ ์„ ์–ธ๋œ Song ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private String title; // private์œผ๋กœ ์„ ์–ธ๋œ Stringํ˜• ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ํ•„๋“œ title ์„ ์–ธ
    private String artist; // private์œผ๋กœ ์„ ์–ธ๋œ Stringํ˜• ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ํ•„๋“œ artist ์„ ์–ธ
    private String country; // private์œผ๋กœ ์„ ์–ธ๋œ Stringํ˜• ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ํ•„๋“œ country ์„ ์–ธ
    private int year; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ year ์„ ์–ธ
    
    public Song() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
    }
    
    public Song(String title, String artist, String country, int year) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String, String, String, int 4๊ฐœ์ธ ์ƒ์„ฑ์ž
        this.title = title; // ๋งค๊ฐœ๋ณ€์ˆ˜ title์„ ๊ฐ์ฒด ํ•„๋“œ title์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.artist = artist; // ๋งค๊ฐœ๋ณ€์ˆ˜ artist์„ ๊ฐ์ฒด ํ•„๋“œ artist์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.country = country; // ๋งค๊ฐœ๋ณ€์ˆ˜ country์„ ๊ฐ์ฒด ํ•„๋“œ country์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.year = year; // ๋งค๊ฐœ๋ณ€์ˆ˜ year๋ฅผ ๊ฐ์ฒด ํ•„๋“œ year์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ show() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println(year + "๋…„ " + country + "๊ตญ์ ์˜ " + artist + "๊ฐ€ ๋ถ€๋ฅธ "+ title); // ๊ฐ์ฒด์˜ ํ•„๋“œ ์ถœ๋ ฅ
    }
    
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        Song dancingQueen = new Song("DancingQueen""ABBA""์Šค์›จ๋ด"1978); // Song ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ dancingQueen ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String, String, String, int 4๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        dancingQueen.show(); // dancingQueen์˜ ๋ฉ”์†Œ๋“œ show() ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ์ฒด ํ•„๋“œ ์ถœ๋ ฅ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

4. ๋‹ต:

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
47
48
49
50
51
52
class Rectangle { // default๋กœ ์„ ์–ธ๋œ Rectangle ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int x; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ x ์„ ์–ธ, ์™ผ์ชฝ ์•„๋ž˜ ์  x์ขŒํ‘œ
    private int y; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ y ์„ ์–ธ, ์™ผ์ชฝ ์•„๋ž˜ ์  y์ขŒํ‘œ
    private int width; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ width ์„ ์–ธ, ๋„ˆ๋น„
    private int height; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ width ์„ ์–ธ, ๋†’์ด
    
    public Rectangle(int x, int y, int width, int height) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int, int, int, int 4๊ฐœ์ธ ์ƒ์„ฑ์ž
        this.x = x; // ๋งค๊ฐœ๋ณ€์ˆ˜ x๋ฅผ ๊ฐ์ฒด ํ•„๋“œ x์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.y = y; // ๋งค๊ฐœ๋ณ€์ˆ˜ y๋ฅผ ๊ฐ์ฒด ํ•„๋“œ y์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.width = width; // ๋งค๊ฐœ๋ณ€์ˆ˜ width๋ฅผ ๊ฐ์ฒด ํ•„๋“œ width์— ๋Œ€์ž…์—ฐ์‚ฐ
        this.height = height; // ๋งค๊ฐœ๋ณ€์ˆ˜ height๋ฅผ ๊ฐ์ฒด ํ•„๋“œ height์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    
    public int square() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ square() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return width*height; // ๋„ˆ๋น„*๋†’์ด = ์‚ฌ๊ฐํ˜•์˜ ๋„“์ด ๋ฆฌํ„ด
    }
    
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ show() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println("(" + x + "," + y + ")์—์„œ ํฌ๊ธฐ๊ฐ€ " + width + "x" + height + "์ธ ์‚ฌ๊ฐํ˜•"); // ๊ฐ์ฒด ํ•„๋“œ ์ถœ๋ ฅ
    }
    
    public boolean contains(Rectangle r) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด boolean์ธ contains() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        if((x < r.x)&&(r.x < x+width)) { // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ r์ด ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์˜ ํ•„๋“œ x๊ฐ€ ์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ ๋ฒ”์œ„ ์•ˆ์— ์žˆ์œผ๋ฉด
            if((y < r.y)&&(r.y < y+height)) { // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ r์ด ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์˜ ํ•„๋“œ y๊ฐ€ ์‚ฌ๊ฐํ˜•์˜ ์„ธ๋กœ ๋ฒ”์œ„ ์•ˆ์— ์žˆ์œผ๋ฉด
                if((x < r.x + r.width)&&(r.x + r.width< x+width)) { // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ r์ด ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์˜ ํ•„๋“œ x + width, ์ฆ‰ ๋‹ค๋ฅธ ์ ์˜ x์ขŒํ‘œ๊ฐ€ ์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ ๋ฒ”์œ„ ์•ˆ์— ์žˆ์œผ๋ฉด
                    if((y < r.y + r.height)&&(r.y + r.height < y+height)) { // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ r์ด ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์˜ ํ•„๋“œ y + height, ์ฆ‰ ๋‹ค๋ฅธ ์ ์˜ y์ขŒํ‘œ๊ฐ€ ์‚ฌ๊ฐํ˜•์˜ ์„ธ๋กœ ๋ฒ”์œ„ ์•ˆ์— ์žˆ์œผ๋ฉด
                        return true// ์‚ฌ๊ฐํ˜• r์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ true๋ฅผ ๋ฆฌํ„ด
                    }
                }
            }
        }
        return false// ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ์ฆ‰ ์‚ฌ๊ฐํ˜• r์„ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด false๋ฅผ ๋ฆฌํ„ด
    }
    
}
 
public class Ch4_4 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_4 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // public์œผ๋กœ ์„ ์–ธ๋œ main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        Rectangle r = new Rectangle(2287); // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ r ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ intํ˜• 4๊ฐœ์ธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ดˆ๊ธฐํ™”
        Rectangle s = new Rectangle(5566); // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ s ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ intํ˜• 4๊ฐœ์ธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ดˆ๊ธฐํ™”
        Rectangle t = new Rectangle(111010); // Rectangle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ t ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ intํ˜• 4๊ฐœ์ธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ดˆ๊ธฐํ™”
        
        r.show(); // ๊ฐ์ฒด r์˜ ๋ฉ”์†Œ๋“œ show() ํ˜ธ์ถœํ•˜์—ฌ ํ•„๋“œ ์ถœ๋ ฅ
        System.out.println("s์˜ ๋ฉด์ ์€ " + s.square()); // ๊ฐ์ฒด s์˜ ๋ฉ”์†Œ๋“œ square() ํ˜ธ์ถœํ•˜์—ฌ ๋ฉด์  ์ถœ๋ ฅ
        if(t.contains(r)) System.out.println("t๋Š” r์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค."); // ๋งŒ์•ฝ t๊ฐ€ r์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ถœ๋ ฅ
        if(t.contains(s)) System.out.println("t๋Š” s์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค."); // ๋งŒ์•ฝ t๊ฐ€ s์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ถœ๋ ฅ
        
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

5. ๋‹ต: 

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
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Circle { // default๋กœ ์„ ์–ธ๋œ Circle ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private double x, y; // private์œผ๋กœ ์„ ์–ธ๋œ doubleํ˜• ํ•„๋“œ x, y ์„ ์–ธ
    private int radius; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ radius ์„ ์–ธ
    
    public Circle(double x, double y, int radius) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ double, double, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž
        this.x = x; // ๊ฐ์ฒด ํ•„๋“œ x์— ๋งค๊ฐœ๋ณ€์ˆ˜ x๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.y = y; // ๊ฐ์ฒด ํ•„๋“œ y์— ๋งค๊ฐœ๋ณ€์ˆ˜ y๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.radius = radius; // ๊ฐ์ฒด ํ•„๋“œ radius์— ๋งค๊ฐœ๋ณ€์ˆ˜ radius๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ show() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println("(" + x + "," + y +")" + radius); // ๊ฐ์ฒด ํ•„๋“œ ์ถœ๋ ฅ
    }
}
 
public class CircleManager { // public์œผ๋กœ ์„ ์–ธ๋œ CircleManager ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    
    public static void main(String[] args) { // public์œผ๋กœ ์„ ์–ธ๋œ main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub 
        Scanner scanner = new Scanner(System.in); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ์œ„ํ•ด Scanner ๊ฐ์ฒด ์ƒ์„ฑ
        Circle[] c = new Circle[3]; // Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ c ์„ ์–ธ ๋™์‹œ์— ํฌ๊ธฐ๊ฐ€ 3์ธ ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        for(int i = 0; i<c.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ c.length, ์ฆ‰ c์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            System.out.print("x, y, radius >>"); // x, y, radius ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            double x = scanner.nextDouble(); // doubleํ˜• ๋ณ€์ˆ˜ y ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์‹ค์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            double y = scanner.nextDouble(); // doubleํ˜• ๋ณ€์ˆ˜ y ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์‹ค์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            int radius = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ radius ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            c[i] = new Circle(x, y, radius); // Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” c[i] ์›์†Œ์— Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        }
        for(int i = 0; i<c.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ c.length, ์ฆ‰ ๋ฐฐ์—ด c์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            c[i].show(); // c[i] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ show() ํ˜ธ์ถœํ•˜์—ฌ ํ•„๋“œ ์ถœ๋ ฅ
        }
        
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
cs

 

6. ๋‹ต: 

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
47
48
49
50
51
52
53
54
55
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Circle { // default๋กœ ์„ ์–ธ๋œ Circle ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private double x, y; // private์œผ๋กœ ์„ ์–ธ๋œ doubleํ˜• ํ•„๋“œ x, y ์„ ์–ธ
    private int radius; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ radius ์„ ์–ธ
    private double area; // private์œผ๋กœ ์„ ์–ธ๋œ doubleํ˜• ํ•„๋“œ area ์„ ์–ธ
    
    public Circle(double x, double y, int radius) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ double, double, int 3๊ฐœ์ธ ์ƒ์„ฑ์ž
        this.x = x; // ๊ฐ์ฒด ํ•„๋“œ x์— ๋งค๊ฐœ๋ณ€์ˆ˜ x๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.y = y; // ๊ฐ์ฒด ํ•„๋“œ y์— ๋งค๊ฐœ๋ณ€์ˆ˜ y๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.radius = radius; // ๊ฐ์ฒด ํ•„๋“œ radius์— ๋งค๊ฐœ๋ณ€์ˆ˜ radius๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ show() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println("(" + x + "," + y +")" + radius); // ๊ฐ์ฒด ํ•„๋“œ ์ถœ๋ ฅ
    }
    public void setArea() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ setArea() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        area = 3.14*radius*radius; // ์›์˜ ๋ฉด์  ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ์ฒด ํ•„๋“œ area์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public double getArea() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด double์ธ getArea() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return area; // ์›์˜ ๋ฉด์ ์ด ์ €์žฅ๋œ ๊ฐ์ฒด ํ•„๋“œ area์— ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public static int getMaxIndex(Circle[] c) { // public์œผ๋กœ ์„ ์–ธ๋œ static ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ getMaxIndex() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        int maxIndex = 0// intํ˜• ๋ณ€์ˆ˜ maxIndex ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”
        for(int i = 1; i<c.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 1๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ c.length, ์ฆ‰ ๋ฐฐ์—ด c์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            if(c[i].getArea() > c[maxIndex].getArea()) { // ๋งŒ์•ฝ c[i]์˜ ๋ฉด์ ์ด c[maxIndex]์˜ ๋ฉด์ ๋ณด๋‹ค ํฌ๋ฉด
                maxIndex = i; // maxIndex์— i ๋Œ€์ž…์—ฐ์‚ฐ
            }
        } // ๋ฐฐ์—ด c ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ฒ€์‚ฌ ๋
        return maxIndex; // maxIndex๋ฅผ ๋ฆฌํ„ด
    }
// Circle ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
public class CircleManager { // public์œผ๋กœ ์„ ์–ธ๋œ CircleManager ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    
    public static void main(String[] args) { // public์œผ๋กœ ์„ ์–ธ๋œ main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub 
        Scanner scanner = new Scanner(System.in); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ์œ„ํ•ด Scanner ๊ฐ์ฒด ์ƒ์„ฑ
        Circle[] c = new Circle[3]; // Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ c ์„ ์–ธ ๋™์‹œ์— ํฌ๊ธฐ๊ฐ€ 3์ธ ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        for(int i = 0; i<c.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ c.length, ์ฆ‰ c์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            System.out.print("x, y, radius >>"); // x, y, radius ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            double x = scanner.nextDouble(); // doubleํ˜• ๋ณ€์ˆ˜ y ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์‹ค์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            double y = scanner.nextDouble(); // doubleํ˜• ๋ณ€์ˆ˜ y ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์‹ค์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            int radius = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ radius ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜ ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            c[i] = new Circle(x, y, radius); // Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” c[i] ์›์†Œ์— Circle ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            c[i].setArea(); // c[i] ์›์†Œ์˜ ๋ฉ”์†Œ๋“œ setArea() ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ์ฒด ํ•„๋“œ area ์„ค์ •
        }
        
        System.out.print("๊ฐ€์žฅ ๋ฉด์ ์ด ํฐ ์›์€ "); // ๊ฐ€์žฅ ๋ฉด์ ์ด ํฐ ์› ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int maxIndex = Circle.getMaxIndex(c); // intํ˜• ๋ณ€์ˆ˜ maxIndex ์„ ์–ธ ๋™์‹œ์— Circleํด๋ž˜์Šค์˜ static ๋ฉ”์†Œ๋“œ getMaxIndex() ํ˜ธ์ถœํ•˜์—ฌ ๋ฐฐ์—ด c์˜ ์›์†Œ ์ค‘ ๊ฐ€์žฅ ๋ฉด์ ์ด ํฐ ์›์†Œ์˜ ์ธ๋ฑ์Šค๋กœ ์ดˆ๊ธฐํ™”
        c[maxIndex].show(); // c[maxIndex]์˜ ๋ฉ”์†Œ๋“œ show() ํ˜ธ์ถœํ•˜์—ฌ, ๊ฐ€์žฅ ํฐ ๋ฉด์ ์ด ํฐ ์›์˜ ํ•„๋“œ ์ถœ๋ ฅ
        
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

7. ๋‹ต:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Day { // default๋กœ ์„ ์–ธ๋œ Day ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private String work; // private์œผ๋กœ ์„ ์–ธ๋œ Stringํ˜• ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ work ์„ ์–ธ
    public void set(String work) { this.work = work; } // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ ๋ฉ”์†Œ๋“œ set() ์ •์˜, ๋งค๊ฐœ๋ณ€์ˆ˜ work๋ฅผ ํ•„๋“œ worrk์— ๋Œ€์ž…์—ฐ์‚ฐ
    public String get() { return work; } // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด String์ธ ๋ฉ”์†Œ๋“œ get() ์ •์˜
    public void show() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ฐํƒ€์ž…์ด void์ธ ๋ฉ”์†Œ๋“œ show() ์ •์˜
        if(work == nullSystem.out.println("์—†์Šต๋‹ˆ๋‹ค."); // ๋งŒ์•ฝ work๊ฐ€ null์ด๋ฉด, ์ฆ‰ work์— ์ €์žฅ๋œ ๋ฌธ์ž์—ด ๊ฐ์ฒด๊ฐ€ ์—†์œผ๋ฉด ์—†์Šต๋‹ˆ๋‹ค. ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        else System.out.println(work + "์ž…๋‹ˆ๋‹ค."); // ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ์ฆ‰ work์— ์ €์žฅ๋œ ๋ฌธ์ž์—ด ๊ฐ์ฒด๊ฐ€ ์žˆ์œผ๋ฉด ํ•  ์ผ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
    }
// Day ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
class MonthSchedule { // default๋กœ ์„ ์–ธ๋œ MonthSchedule ๊ตฌํ˜„ ์‹œ์ž‘
    private Scanner scanner; // private์œผ๋กœ ์„ ์–ธ๋œ Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ scanner ์„ ์–ธ
    private Day[] month; // private์œผ๋กœ ์„ ์–ธ๋œ Day ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ month ์„ ์–ธ
    
    public MonthSchedule(int size) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int 1๊ฐœ์ธ ์ƒ์„ฑ์ž
        month = new Day[size]; // ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด ๋งŒ๋“ค์–ด ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ month ์ดˆ๊ธฐํ™”
        for(int i = 0; i<month.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ month.length, ์ฆ‰ ๋ฐฐ์—ด month์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            month[i] = new Day(); // month[i] ์›์†Œ์— Day ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋Œ€์ž…์—ฐ์‚ฐํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        }
        scanner = new Scanner(System.in); //์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ์œ„ํ•ด scanner ๊ฐ์ฒด ์ƒ์„ฑ
    }
    
    public void input() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ input() ๋ฉ”์†Œ๋“œ ์ •์˜, ํ• ์ผ ์ž…๋ ฅ ๊ธฐ๋Šฅ
        System.out.print("๋‚ ์งœ(1~30)>?"); // ๋‚ ์งœ ์ž…๋ ฅ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int date = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ date ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        System.out.print("ํ• ์ผ(๋นˆ์นธ์—†์ด์ž…๋ ฅ)?"); // ํ• ์ผ ์ž…๋ ฅ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        month[date].set(scanner.next()); // month[date] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ set() ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด ์ €์žฅ
        
    }
    public void view() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ view() ๋ฉ”์†Œ๋“œ ์ •์˜, ์ €์žฅ๋œ ํ• ์ผ ์ถœ๋ ฅ
        System.out.print("๋‚ ์งœ(1~30)>?"); // ๋‚ ์งœ ์ž…๋ ฅ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int date = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ date ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        System.out.print(date + "์ผ์˜ ํ•  ์ผ์€ "); // ํ• ์ผ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        month[date].show(); // month[date] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ show() ํ˜ธ์ถœํ•˜์—ฌ ์ €์žฅ๋œ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๋ฉด ์ถœ๋ ฅ
        
    }
    public void finish() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ finish() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
        System.out.println("ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค."); // ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        
    }
    public void run() { // public์œผ๋กœ ์„ ์–ธ๋˜ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ run() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println("์ด๋ฒˆ๋‹ฌ ์Šค์ผ€์ฅด ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ"); // ์ด๋ฒˆ๋‹ฌ ์Šค์ผ€์ฅด ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int menu; // intํ˜• ๋ณ€์ˆ˜ menu ์„ ์–ธ
        while(true) { // ๋ฌดํ•œ๋ฐ˜๋ณต
            System.out.print("ํ• ์ผ(์ž…๋ ฅ:1, ๋ณด๊ธฐ:2, ๋๋‚ด๊ธฐ:3) >>"); // ๋ฉ”๋‰ด ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            menu = scanner.nextInt(); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋ฅผ menu์— ๋Œ€์ž…์—ฐ์‚ฐ
            switch(menu) { // menu๊ฐ€
            case 1// 1์ธ ๊ฒฝ์šฐ
                input(); // input() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
                break// switch-case๋ฌธ ๋น ์ ธ๋‚˜๊ฐ, ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๊ฐ
            case 2// 2์ธ ๊ฒฝ์šฐ
                view(); // view() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
                break// switch-case๋ฌธ ๋น ์ ธ๋‚˜๊ฐ, ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๊ฐ
            case 3// 3์ธ ๊ฒฝ์šฐ
                finish(); // finish() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
                return// run() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋œ ๊ณณ์œผ๋กœ ๋˜๋Œ์•„๊ฐ
            } // switch-case๋ฌธ ๋
        } // while๋ฌธ ๋
    } // run() ๋ฉ”์†Œ๋“œ ๋
// MonthSchedule ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
public class Ch4_7 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_7 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        MonthSchedule april = new MonthSchedule(30); // MonthSchedule ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ april ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int 1๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        april.run(); // april ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ run() ํ˜ธ์ถœ
        
    } // main() ๋ฉ”์†Œ๋“œ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

8. ๋‹ต: 

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Phone { // default๋กœ ์„ ์–ธ๋œ Phone ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private String name; // private์œผ๋กœ ์„ ์–ธ๋œ String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ ํ•„๋“œ name ์„ ์–ธ
    private String tel; // private์œผ๋กœ ์„ ์–ธ๋œ String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ ํ•„๋“œ tel ์„ ์–ธ
    public Phone() { // public์œผ๋กœ ์„ ์–ธ๋œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
    }
    public void setName(String name) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ด๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ name์ธ setName() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.name = name; // ๊ฐ์ฒด ํ•„๋“œ name์— ๋งค๊ฐœ๋ณ€์ˆ˜ name์„ ๋Œ€์ž…์—ฐ์‚ฐ, ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ณต์‚ฌ๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค.
    }
    public void setTel(String tel) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ด๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ tel์ธ setTel() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.tel = tel; // ๊ฐ์ฒด ํ•„๋“œ tel์— ๋งค๊ฐœ๋ณ€์ˆ˜ tel์„ ๋Œ€์ž…์—ฐ์‚ฐ, ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ณต์‚ฌ๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค.
    }
    public String getName() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค์ธ getName() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return name; // ๊ฐ์ฒด ํ•„๋“œ name ๋ฆฌํ„ด
    }
    public String getTel() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค์ธ getTel() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return tel; // ๊ฐ์ฒด ํ•„๋“œ tel ๋ฆฌํ„ด
    }
    
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
class PhoneBook { // default๋กœ ์„ ์–ธ๋œ PhoneBook ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private Scanner scanner; // private์œผ๋กœ ์„ ์–ธ๋œ Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์ธ ํ•„๋“œ scanner ์„ ์–ธ
    private Phone[] phoneArray; // private์œผ๋กœ ์„ ์–ธ๋œ Phone ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์ธ ํ•„๋“œ phoneArray ์„ ์–ธ
    
    public PhoneBook() { // public์œผ๋กœ ์„ ์–ธ๋œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
        scanner = new Scanner(System.in); // scanner ํ•„๋“œ์— Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        
        System.out.print("์ธ์›์ˆ˜>>"); // ์ธ์›์ˆ˜ ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int size = scanner.nextInt(); // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ๋ณ€์ˆ˜ size ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋กœ ์ดˆ๊ธฐํ™”, ๊ฐ์ฒด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ
        phoneArray = new Phone[size]; // phoneArray ํ•„๋“œ์— ํฌ๊ธฐ๊ฐ€ size์ธ Phone ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
 
        for(int i = 0; i<phoneArray.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ phoneArray.length, ๋ฐฐ์—ด phoneArray์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            phoneArray[i] = new Phone(); // phoneArray[i] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค์— Phone ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ๋Œ€์ž…์—ฐ์‚ฐ
            
            System.out.print("์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ(์ด๋ฆ„๊ณผ ๋ฒˆํ˜ธ๋Š” ๋นˆ ์นธ์—†์ด ์ž…๋ ฅ)>>"); // ์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            phoneArray[i].setName(scanner.next()); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ phoneArray[i] ์›์†Œ์˜ ๋ฉ”์†Œ๋“œ setName() ํ˜ธ์ถœํ•˜์—ฌ name ํ•„๋“œ์— ์ €์žฅ
            phoneArray[i].setTel(scanner.next()); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ phoneArray[i] ์›์†Œ์˜ ๋ฉ”์†Œ๋“œ setTel() ํ˜ธ์ถœํ•˜์—ฌ tel ํ•„๋“œ์— ์ €์žฅ
        }
        System.out.println("์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค..."); // ์ €์žฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
    }
    public void run() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ ๋ฉ”์†Œ๋“œ run() ์ •์˜ ์‹œ์ž‘
        Boolean exist = false// Booleanํ˜• ๋ณ€์ˆ˜ exist ์„ ์–ธ ๋™์‹œ์— ์ดˆ๊ธฐํ™”
        
        while(true) { // ๋ฌดํ•œ๋ฐ˜๋ณต
            System.out.print("๊ฒ€์ƒ‰ํ•  ์ด๋ฆ„>>"); // ๊ฒ€์ƒ‰ํ•  ์ด๋ฆ„ ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            String name = scanner.next(); // String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ name ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด๋กœ ์ดˆ๊ธฐํ™”
            
            if(name.equals("๊ทธ๋งŒ")) { // ๋งŒ์•ฝ name์ด ๊ทธ๋งŒ์ด๋ฉด, ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋งŒ์„ ์ž…๋ ฅํ–ˆ์œผ๋ฉด
                scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
                return// run() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.
            }
            
            for(int i = 0; i<phoneArray.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ phoneArray.length ์ฆ‰ phoneArray์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
                if(name.equals(phoneArray[i].getName())) { // ๋งŒ์•ฝ name์ด phoneArray[i] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ํ•„๋“œ name๊ณผ ๊ฐ™์œผ๋ฉด
                    exist = true// exist์— true ๋Œ€์ž…์—ฐ์‚ฐ
                    System.out.print( name + "์˜ ๋ฒˆํ˜ธ๋Š” "); // name์˜ ๋ฒˆํ˜ธ ์ถœ๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€
                    System.out.println(phoneArray[i].getTel() + " ์ž…๋‹ˆ๋‹ค."); // phoneArray[i] ์›์†Œ์— ์ €์žฅ๋œ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ getTel()์„ ํ˜ธ์ถœํ•˜์—ฌ ํ•„๋“œ tel ์ถœ๋ ฅ
                }
            }
            
            if(exist == false) { // ๋งŒ์•ฝ exist๊ฐ€ false์ด๋ฉด, ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ name์ด phoneArray์— ์—†์œผ๋ฉด
                System.out.println( name + " ์ด ์—†์Šต๋‹ˆ๋‹ค."); // ์—†์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ
            }
            
            exist = false// exist์— ์ €์žฅ๋œ true๋ฅผ false๋กœ ๋ฐ”๊พผ๋‹ค. ์ดˆ๊ธฐํ™” ์ž‘์—…
        }
    }
}
 
public class Ch4_8 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_8 ํด๋ž˜์Šค ๊ตฌํ˜„์‹œ์ž‘ 
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        PhoneBook phoneBook = new PhoneBook(); // PhoneBookํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ phoneBook ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        phoneBook.run(); // phoneBook ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ run() ํ˜ธ์ถœ
        
    } // main() ๋ฉ”์†Œ๋“œ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

9. ๋‹ต:

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
class ArrayUtil { // default๋กœ ์„ ์–ธํ•œ ArrayUtil ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    public static int[] concat(int[] a, int[] b) { // public์œผ๋กœ ์„ ์–ธ๋œ static๋ฉค๋ฒ„ ๋ฆฌํ„ดํƒ€์ž…์ด intํ˜• ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค์ธ concat() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        int[] temp = new int[a.length +b.length]; // intํ˜• ๋ฐฐ์—ด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ temp ์„ ์–ธ ๋™์‹œ์— ํฌ๊ธฐ๊ฐ€ a.length+b.length, ์ฆ‰ ๋ฐฐ์—ด a, b์˜ ํฌ๊ธฐ๋ฅผ ํ•ฉํ•œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        int index; // intํ˜• ๋ณ€์ˆ˜ index ์„ ์–ธ
        
        for(int i = 0; i<a.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ a.length ์ฆ‰ a์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            index = i; // index์— i ๋Œ€์ž…์—ฐ์‚ฐ
            temp[index] = a[i]; // temp[index] ์›์†Œ์— a[i] ์›์†Œ ๋Œ€์ž…์—ฐ์‚ฐ
        }
        for(int i = 0; i<b.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ b.length ์ฆ‰ b์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            index = a.length + i; // index์— a.length+i ๋Œ€์ž…์—ฐ์‚ฐ
            temp[index] = b[i]; // temp[index] ์›์†Œ์— b[i] ์›์†Œ ๋Œ€์ž…์—ฐ์‚ฐ
        }
        
        return temp; // ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ temp ๋ฆฌํ„ด
    }
    public static void print(int[] a) { // public์œผ๋กœ ์„ ์–ธ๋œ static ๋ฉค๋ฒ„ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ print() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.print("[ "); // [ ์ถœ๋ ฅ
        for(int i = 0; i<a.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”, i๊ฐ€ a.length ์ฆ‰ ๋ฐฐ์—ด a์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            System.out.print(a[i] + " "); // a[i] ์›์†Œ ์ถœ๋ ฅ
        }
        System.out.println("]"); // ] ์ถœ๋ ฅ
    }
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
public class StaticExd { // public์œผ๋กœ ์„ ์–ธ๋œ StaticEx ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        int[] array1 = {1579}; // intํ˜• ๋ฐฐ์—ด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ array1 ์„ ์–ธ ๋™์‹œ์— ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        int[] array2 = {36-110077}; // intํ˜• ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ array2 ์„ ์–ธ ๋™์‹œ์— ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        int[] array3 = ArrayUtil.concat(array1, array2); // intํ˜• ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ array3 ์„ ์–ธ ๋™์‹œ์— ArrayUtil ํด๋ž˜์Šค์˜ static ๋ฉ”์†Œ๋“œ concat() ํ˜ธ์ถœํ•˜์—ฌ array1, array2 ํ•ฉ์นœ ๋ฐฐ์—ด ๋ฆฌํ„ดํ•˜์—ฌ ์ดˆ๊ธฐํ™” 
        ArrayUtil.print(array3); // ArrayUtil ํด๋ž˜์Šค์˜ static ๋ฉค๋ฒ„ ๋ฉ”์†Œ๋“œ print() ํ˜ธ์ถœํ•˜์—ฌ array3 ๋ฐฐ์—ด ์ถœ๋ ฅ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
cs

 

10. ๋‹ต:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Dictionary { // default๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค Dictionary ๊ตฌํ˜„ ์‹œ์ž‘
    private static String[] kor = { "์‚ฌ๋ž‘""์•„๊ธฐ""๋ˆ""๋ฏธ๋ž˜""ํฌ๋ง" }; // private์œผ๋กœ ์„ ์–ธ๋œ static ๋ฉค๋ฒ„ Stringํ˜• ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค kor ์„ ์–ธ ๋™์‹œ์— ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
    private static String[] eng = {"love""baby""money""future""hope" }; // private์œผ๋กœ ์„ ์–ธ๋œ static ๋ฉค๋ฒ„ Stringํ˜• ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค kor ์„ ์–ธ ๋™์‹œ์— ๋ฐฐ์—ด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
    public static String kor2Eng(String word) { // public์œผ๋กœ ์„ ์–ธ๋œ static ๋ฉค๋ฒ„ ๋ฆฌํ„ดํƒ€์ž…์ด Stringํ˜• ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜์ธ kor2Eng() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        String answer = ""// Stringํ˜• ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ answer ์„ ์–ธ ๋™์‹œ์— "" ๋Œ€์ž…์—ฐ์‚ฐ
        Boolean exist = false// Booleanํ˜• ๋ณ€์ˆ˜ exist ์„ ์–ธ ๋™์‹œ์— false ๋Œ€์ž…์—ฐ์‚ฐ
        
        for(int i = 0; i<kor.length; i++) { // intํ˜• ๋ณ€์ˆ˜ i ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์„ ์–ธ, i๊ฐ€ kor.length ์ฃฝ kor ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์„๋™์•ˆ ๋ฐ˜๋ณต, i์— +1
            if(word.equals(kor[i])) { // ๋งŒ์•ฝ word๊ฐ€ kor[i] ์›์†Œ์™€ ๊ฐ™์œผ๋ฉด
                exist = true// exist์— true ๋Œ€์ž…์—ฐ์‚ฐ
                answer = eng[i]; // answer์— eng[i] ๋Œ€์ž…์—ฐ์‚ฐ
                break// ์˜์–ด๋‹จ์–ด ์ฐพ๋Š” for๋ฌธ ๋น ์ ธ๋‚˜๊ฐ
            }
        }
        if(exist == false) { // ๋งŒ์•ฝ exist๊ฐ€ false์ด๋ฉด
            System.out.println(word + "๋Š” ์ €์˜ ์‚ฌ์ „์— ์—†์Šต๋‹ˆ๋‹ค."); // ์‚ฌ์ „์— ์—†์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ
        }
        else { // ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, ์ฆ‰ exist๊ฐ€ true์ด๋ฉด
            System.out.println(word + "์€ " + answer); // ํ•œ๊ธ€๋‹จ์–ด์— ๋งž๋Š” ์˜์–ด๋‹จ์–ด ์ถœ๋ ฅ
        }
        
        exist = false// exist๋Š” false๋กœ ์ดˆ๊ธฐํ™”
        
        return answer; // answer ๋ฆฌํ„ด
    } 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
class DicApp { // default๋กœ ์„ ์–ธ๋œ DicApp ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private Scanner scanner; // private์œผ๋กœ ์„ ์–ธ๋œ Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ํ•„๋“œ scanner ์„ ์–ธ
    private String search; // private์œผ๋กœ ์„ ์–ธ๋œ String ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ํ•„๋“œ search ์„ ์–ธ
    public DicApp() { // public์œผ๋กœ ์„ ์–ธ๋œ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
        scanner = new Scanner(System.in); // scanner์— Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public void run() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ run() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        System.out.println("ํ•œ์˜ ๋‹จ์–ด ๊ฒ€์ƒ‰ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค."); // ํ•œ์˜ ๋‹จ์–ด ๊ฒ€์ƒ‰ ํ”„๋กœ๊ทธ๋žจ ์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ
        
        while(true) { // ๋ฌดํ•œ๋ฐ˜๋ณต
            System.out.print("ํ•œ๊ธ€ ๋‹จ์–ด?"); // ํ•œ๊ธ€ ๋‹จ์–ด ์ž…๋ ฅ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            search = scanner.next(); // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ search์— ๋Œ€์ž…์—ฐ์‚ฐ
            
            if(search.equals("๊ทธ๋งŒ")) { // ๋งŒ์•ฝ search๊ฐ€ ๊ทธ๋งŒ์ด๋ฉด, ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋งŒ์„ ์ž…๋ ฅํ–ˆ์œผ๋ฉด
                break// ๋‹จ์–ด ์ฐพ๋Š” ๋ฐ˜๋ณต๋ฌธ while๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ
            }
            
            Dictionary.kor2Eng(search); // Dictionary ํด๋ž˜์Šค์˜ static ๋ฉ”์†Œ๋“œ kor2Eng() ํ˜ธ์ถœํ•˜์—ฌ search์— ์ €์žฅ๋œ ๋‹จ์–ด ์ฐพ๊ธฐ
        }
        
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
        return// ํ•จ์ˆ˜ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„๊ฐ
    }
}
 
public class Ch4_10 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_10 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        DicApp dicApp = new DicApp(); // DicApp ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ dicApp ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        dicApp.run(); // dicApp ๊ฐ์ฒด ๋ฉ”์†Œ๋“œ run() ํ˜ธ์ถœ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
    
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
cs

 

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.util.Scanner// Scanner ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๊ฒฝ๋กœ๋ช… ์•Œ๋ ค์คŒ
 
class Add { // default๋กœ ์„ ์–ธ๋œ Add ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int a, b; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ a, b ์„ ์–ธ
    public void setValue(int a, int b) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ setVaule() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.a = a; // ํ•„๋“œ a์— ๋งค๊ฐœ๋ณ€์ˆ˜ a๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.b = b; // ํ•„๋“œ b์— ๋งค๊ฐœ๋ณ€์ˆ˜ b๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public int calculate() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ calculate() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return a+b; // a+b ๋ฆฌํ„ด
    }
}
class Sub { // default๋กœ ์„ ์–ธ๋œ Sub ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int a, b; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ a, b ์„ ์–ธ
    public void setValue(int a, int b) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ setVaule() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.a = a; // ํ•„๋“œ a์— ๋งค๊ฐœ๋ณ€์ˆ˜ a๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.b = b; // ํ•„๋“œ b์— ๋งค๊ฐœ๋ณ€์ˆ˜ b๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public int calculate() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ calculate() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return a-b; // a-b ๋ฆฌํ„ด
    }
}
class Mul { // default๋กœ ์„ ์–ธ๋œ Mul ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int a, b; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ a, b ์„ ์–ธ
    public void setValue(int a, int b) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ setVaule() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.a = a; // ํ•„๋“œ a์— ๋งค๊ฐœ๋ณ€์ˆ˜ a๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.b = b; // ํ•„๋“œ b์— ๋งค๊ฐœ๋ณ€์ˆ˜ b๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public int calculate() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ calculate() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        return a*b; // a*b ๋ฆฌํ„ด
    }
}
class Div { // default๋กœ ์„ ์–ธ๋œ Sub ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
    private int a, b; // private์œผ๋กœ ์„ ์–ธ๋œ intํ˜• ํ•„๋“œ a, b ์„ ์–ธ
    public void setValue(int a, int b) { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด void์ธ setVaule() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        this.a = a; // ํ•„๋“œ a์— ๋งค๊ฐœ๋ณ€์ˆ˜ a๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        this.b = b; // ํ•„๋“œ b์— ๋งค๊ฐœ๋ณ€์ˆ˜ b๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
    }
    public int calculate() { // public์œผ๋กœ ์„ ์–ธ๋œ ๋ฆฌํ„ดํƒ€์ž…์ด int์ธ calculate() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        if(b==0) { // ๋งŒ์•ฝ ๋‚˜๋ˆ„๋Š” ์ˆ˜๊ฐ€ 0์ด๋ฉด
            System.out.println("0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."); // 0์œผ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
            return -1// -1 ๋ฆฌํ„ด
        }
        return a/b; // a*b ๋ฆฌํ„ด
    }
}
 
public class Ch4_11 { // public์œผ๋กœ ์„ ์–ธ๋œ Ch4_11 ํด๋ž˜์Šค ๊ตฌํ˜„ ์‹œ์ž‘
 
    public static void main(String[] args) { // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ์‹œ์ž‘
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in); // Scanner ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์—๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ scanner ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
        
        System.out.print("๋‘ ์ •์ˆ˜์™€ ์—ฐ์‚ฐ์ž๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค>>"); // ์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ
        int a = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ a ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        int b = scanner.nextInt(); // intํ˜• ๋ณ€์ˆ˜ b ์„ ์–ธ ๋™์‹œ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ์ •์ˆ˜๋ฅผ ๋Œ€์ž…์—ฐ์‚ฐ
        char operator = scanner.next().charAt(0); // charํ˜• ๋ณ€์ˆ˜ operator ์„ ์–ธ ๋™์‹œ์— charAt() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฌธ์žํ˜• ๋ณ€์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ๋Œ€์ž…์—ฐ์‚ฐ
        int answer = 0// intํ˜• ๋ณ€์ˆ˜ answer ์„ ์–ธ ๋™์‹œ์— 0์œผ๋กœ ์ดˆ๊ธฐํ™”
        
        switch(operator) { // operator์— ์ €์žฅ๋œ ๋ฌธ์ž์—ด์ด
        case '+'// +์ธ ๊ฒฝ์šฐ
            Add add = new Add(); // Add ํด๋ž˜์Šค๋กœ ๋งŒ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ add ์„ ์–ธ ๋™์‹œ์— ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ธฐํ™”
            add.setValue(a, b); // add์˜ ๋ฉ”์†Œ๋“œ setValue() ํ˜ธ์ถœํ•˜์—ฌ ๊ฐํŽ˜ ํ•„๋“œ a, b ์„ค์ •
            answer = add.calculate(); // add์˜ ๋ฉ”์†Œ๋“œ calculate() ํ˜ธ์ถœํ•˜์—ฌ ๊ณ„์‚ฐ๋˜์–ด ๋ฆฌํ„ด๋œ ๊ฐ’์„ answer์— ๋Œ€์ž…์—ฐ์‚ฐ
            break// switch-case๋ฌธ ๋น ์ ธ๋‚˜๊ฐ
        case '-':
            Sub sub = new Sub();
            sub.setValue(a, b);
            answer = sub.calculate();
            break;
        case '*':
            Mul mul = new Mul();
            mul.setValue(a, b);
            answer = mul.calculate();
            break;
        case '/':
            Div div = new Div();
            div.setValue(a, b);
            answer = div.calculate();
            break;
        }
        System.out.println(answer); // answer์— ์ €์žฅ๋œ ๊ฐ’ ์ถœ๋ ฅ
        
        scanner.close(); // scanner ๊ฐ์ฒด ๋‹ซ๊ธฐ
    } // main() ๋ฉ”์†Œ๋“œ ์ •์˜ ๋
 
// ํด๋ž˜์Šค ๊ตฌํ˜„ ๋
 
cs

 

12. ๋‹ต:

 

728x90