java/코드 리뷰
6. oop1 - (2) OrderDemo (고객 주문내용 관리 프로그램)
Astaroth아스
2020. 3. 24. 13:54
1
2
3
4
5
6
7
8
9
10
|
package oop1;
public class Order {
String name;
String grade;
int price;
int point;
String gift;
}
|
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
package oop1;
import java.util.Scanner;
public class OrderDemo {
public static void main(String[] args) {
// Order 는 클래스
// orders 는 Order 클래스로 만든 배열
// orderP 는 orders[i] 배열로 만든 i번째 배열
// order 는 Order 클래스로 만든 새 객체
Scanner sc = new Scanner(System.in);
Order[] orders = new Order[100];
int savePosition = 0;
while(true) {
System.out.println();
System.out.println("[고객 주문내용 관리 프로그램]");
System.out.println("=================================================");
System.out.println("1.조회 2.검색 3.입력 4.종료");
System.out.println("=================================================");
System.out.print("번호를 입력하세요 : ");
int MenuNo = sc.nextInt();
if (1 == MenuNo) {
System.out.println("[고객 주문내용 조회]");
if(savePosition == 0) {
System.out.println("고객 주문내용이 존재하지 않습니다.");
} else {
System.out.println("고객명 고객등급 총구매금액 적립포인트 사은품");
System.out.println("=================================================");
for (int i=0; i<savePosition; i++) {
Order orderP = orders[i]; // 요기 안에서만 쓰는 지역변수
System.out.print(orderP.name + "\t");
System.out.print(orderP.grade + "\t");
System.out.print(orderP.price + "\t");
System.out.print(orderP.point + "\t");
System.out.println(orderP.gift);
}
}
} else if (2 == MenuNo) {
System.out.println("[고객 주문내용 검색]");
System.out.println("검색조건을 입력하세요(N:이름, G:사은품)");
String option = sc.next();
System.out.print("검색 내용을 입력하세요");
String text = sc.next();
System.out.println("고객명 고객등급 총구매금액 적립포인트 사은품");
System.out.println("=================================================");
for (int i=0; i<savePosition; i++) {
Order orderP = orders[i];
boolean isFound = false;
if (option.equals("N") && text.equals(orderP.name)) {
isFound = true;
} else if (option.equals("G") && text.equals(orderP.gift)) {
isFound = true;
}
if (isFound) {
System.out.print(orderP.name + "\t");
System.out.print(orderP.grade + "\t");
System.out.print(orderP.price + "\t");
System.out.print(orderP.point + "\t");
System.out.println(orderP.gift);
}
}
} else if (3 == MenuNo) {
System.out.println("[고객 주문내용 입력]");
System.out.print("이름을 입력하세요 : ");
String name = sc.next();
System.out.print("등급을 입력하세요 : ");
String grade = sc.next();
System.out.print("총구매금액을 입력하세요 : ");
int price = sc.nextInt();
// 여기 헷갈림
Order order = new Order();
order.name = name;
order.grade = grade;
order.price = price;
if(order.grade.equals("프리미어")) {
order.point = (int) (order.price*0.05);
} else if(order.grade.equals("에이스")) {
order.point = (int) (order.price*0.03);
} else if(order.grade.equals("베스트")) {
order.point = (int) (order.price*0.02);
} else if(order.grade.equals("클래식")) {
order.point = (int) (order.price*0.01);
}
if(order.price >= 5000000) {
order.gift = "숙박권"; // String gift 가 아님
} else if (order.price >= 1000000) {
order.gift = "상품권";
} else if (order.price >= 500000) {
order.gift = "할인권";
} else {
order.gift = "주차권";
}
orders[savePosition] = order;
savePosition++;
} else if (4 == MenuNo) {
System.out.println("[고객 주문내용 관리 프로그램 종료]");
break;
}
}
sc.close();
}
}
|