1. class 클래스
- 생성자명과 클래스명은 동일하게 준다.
2. 삼각형 클래스
(1) 문제
① 삼각형 클래스 만들기.
- 멤버 변수(인스턴스 변수) : 밑변, 높이, 넓이
- 멤버 메소드(인스턴스 메소드) : 삼각형 초기화 하는 메소드, 삼각형의 면적 구하는 메소드, 삼각형의 현재 상태 출력하는 메소드(밑변, 높이, 넓이 출력)
② 삼각형 인스턴스 3개 만들기
- 밑변 10, 높이 5
- 밑변 4, 높이 2
- 밑변 20 높이 10
③ ②에서 만든 삼각형 인스턴스들의 상태값 출력하기(밑변, 높이, 면적)
(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
39
40
41
42
43
44
|
class Triangle
{
int width;
int height;
int area;
public void reset(int width, int height)
{
this.width = width;
this.height = height;
}
public void area()
{
area = width * height / 2;
}
public void printCS()
{
System.out.println("밑변 : " + width);
System.out.println("높이 : " + height);
System.out.println("넓이 : " + area);
}
}
class TriangleMain
{
public static void main(String[] args)
{
Triangle t1 = new Triangle();
t1.reset(10, 5);
t1.area();
t1.printCS();
System.out.println("==============");
Triangle t2 = new Triangle();
t2.reset(4, 2);
t2.area();
t2.printCS();
System.out.println("==============");
Triangle t3 = new Triangle();
t3.reset(20, 10);
t3.area();
t3.printCS();
}
}
|
cs |
- 출력값
밑변 : 10
높이 : 5
넓이 : 25
==============
밑변 : 4
높이 : 2
넓이 : 4
==============
밑변 : 20
높이 : 10
넓이 : 100
3. 원 클래스
(1) 문제
① 원 클래스 만들기
- 멤버 변수(인스턴스 변수) : 반지름 r , 면적 πr² , 둘레 2πr , 파이 π 3.14
- 멤버 메소드(인스턴스 메소드) : 원 초기화 하는 메소드, 원의 둘레 구하는 메소드, 원의 면적 구하는 메소드, 원의 상태를 출력하는 메소드(반지름, 둘레, 면적)
② 원 인스턴스 3개 만들기
- 반지름 5
- 반지름 10
- 반지름 30
③ ②에서 만든 원 인스턴스들의 상태값 출력하기
(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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
class Circle
{
int radius;
double perimeter;
double area;
double pi;
public void reset(int radius)
{
this.radius = radius;
this.pi = 3.14;
}
public void perimeter()
{
this.perimeter = 2 * pi * radius;
}
public void area()
{
this.area = pi * radius * radius;
}
public void printCS()
{
System.out.println("반지름 : " + radius);
System.out.println("둘레 : " + perimeter);
System.out.println("넙이 : " + area);
}
}
class CircleMain
{
public static void main(String[] args)
{
Circle c1 = new Circle();
c1.reset(5);
c1.perimeter();
c1.area();
c1.printCS();
System.out.println("==========================");
Circle c2 = new Circle();
c2.reset(10);
c2.perimeter();
c2.area();
c2.printCS();
System.out.println("==========================");
Circle c3 = new Circle();
c3.reset(30);
c3.perimeter();
c3.area();
c3.printCS();
}
}
|
cs |
- 출력값
반지름 : 5
둘레 : 31.400000000000002
넙이 : 78.5
==========================
반지름 : 10
둘레 : 62.800000000000004
넙이 : 314.0
==========================
반지름 : 30
둘레 : 188.4
넙이 : 2826.0
4. 과일장수 클래스
(1) 문제
① 사과장수 클래스
- 인스턴스 변수 : 사과값, 사과개수, 가지고 있는 돈
- 메소드 : 인스턴스 변수를 초기화 한다, 구매자에게 돈을 받으면 사과를 건네준다, 현재 자신의 상태를 출력.
② 구매자 클래스
- 인스턴스 변수 : 사과개수, 가지고 있는 돈
- 메소드 : 인스턴스 변수를 초기화 한다, 과일장수에게 돈을 주고 사과를 받는다, 현재 자신의 상태를 출력.
③ 과일메인 클래스
- 사과장수 두명을 만든다.
- 한 명은 사과하나의 값은 2000 원이고 사과를 50 개 들고 있고 그리고 가진돈은 50000원이다.
- 또 다른 사과장수는 사과하나의 값은 1000원이고 사과를 100개를 들고 있고 그리고 가진돈은 100000원이다.
④ 상황
- 구매자는 20000원의 돈을 가지고 있으며 처음에는 사과가 하나도 없다.
- 구매자는 2000원짜리 사과 3개와 1000원짜리 사과 5개를 구매한다.
- 우선은 정확히 자신이 사고싶은 만큼의 돈을 넘겨주고 거스름 돈은 없는 걸로 한다.
- 구매자가 사과 구매후 3명(과일장수, 구매자)의 상태를 출력한다.
(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
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
|
class Seller
{
int PRICE;
int numOfApples;
int money;
public void resetSeller(int price, int numOfApples, int money)
{
this.PRICE = price;
this.numOfApples = numOfApples;
this.money = money;
}
public int sell(int money)
{
this.money+=money;
int num = money / PRICE;
this.numOfApples -= num;
return num;
}
public void printCS()
{
System.out.println("사과 가격 : " + PRICE);
System.out.println("사과 갯수 : " + numOfApples);
System.out.println("가진 돈 : " + money);
}
}
class Buyer
{
int money;
int numOfApples;
public void resetBuyer(int money)
{
this.money = money;
this.numOfApples = 0;
}
public void buy(Seller seller, int money)
{
this.money -= money;
this.numOfApples += seller.sell(money);
}
public void printCS()
{
System.out.println("사과 갯수 : " + numOfApples);
System.out.println("가진 돈 : " + money);
}
}
class Main
{
public static void main(String[] args)
{
Seller seller1 = new Seller();
seller1.resetSeller(2000, 50, 50000);
Seller seller2 = new Seller();
seller2.resetSeller(1000, 100, 100000);
Buyer buyer = new Buyer();
buyer.resetBuyer(20000);
buyer.buy(seller1, 6000);
System.out.println("사과장수1");
seller1.printCS();
System.out.println();
System.out.println("사과장수2");
seller2.printCS();
System.out.println();
System.out.println("구매자");
buyer.printCS();
System.out.println("=================");
buyer.buy(seller2, 5000);
System.out.println("사과장수1");
seller1.printCS();
System.out.println();
System.out.println("사과장수2");
seller2.printCS();
System.out.println();
System.out.println("구매자");
buyer.printCS();
}
}
|
cs |
- 출력값
사과장수1
사과 가격 : 2000
사과 갯수 : 47
가진 돈 : 56000
사과장수2
사과 가격 : 1000
사과 갯수 : 100
가진 돈 : 100000
구매자
사과 갯수 : 3
가진 돈 : 14000
=================
사과장수1
사과 가격 : 2000
사과 갯수 : 47
가진 돈 : 56000
사과장수2
사과 가격 : 1000
사과 갯수 : 95
가진 돈 : 105000
구매자
사과 갯수 : 8
가진 돈 : 9000
'Java > Day5' 카테고리의 다른 글
[Java] 재귀메소드 (0) | 2021.11.04 |
---|