본문으로 바로가기

method 3 ( 담배파는 편의점 )

category Back-end/Java 2016. 1. 22. 17:30
담배파는 편의점을 짜봤다.


[1] 프로그램 구조

필요한 클래스

1. Main

2. Convenience Store

3. Customer


사용자의 나이와 가진 돈을 입력받는다.

20세 미만이면 프로그램을 종료한다.

사용자가 가진 금액이 담배가격보다 적으면 프로그램을 종료한다.

돈을 덜내면 가격을 만족할 때 까지 계속 입력을 받는다.


[2] Convenience Store


속성 ( 인스턴스 필드 )




getter, setter



기능

1. 주문을 받는다. -> takeOrder

2. 돈을 받는다. -> takeMoney

3. 담배를 준다. -> giveCigarret

4. 거스름 돈을 준다. -> giveRemain

5. 편의점 재고 현황 -> takeInfo

6. 판매종료 -> close



[3] Customer


속성 ( 인스턴스 필드 )


getter, setter


기능

1. 돈을 낸다. -> pay

2. 담배를 받는다 -> takeCifgarrete

3. 거스름 돈을 받는다 -> takeRemain

4. 현재 보유금액과 보유담배 정보를 받는다 -> takeInfo



[4] Main

Customer 와 ConvenienceStore  인스턴스를 선언한다.

<담배사는 프로그램>을 출력한 후 customer의 age와 money를 입력받는다.


while문을 돌린다.

만약 소비자의 나이가 20세 미만이거나 가진돈이 담배값보다 적으면 store을 종료한후 break 해줬다.

그게 아니라면 소비자에게 담배를 살것인지 물어본다.

담배를 산다고 했을때 구매할 담배의 개수를 입력받고 takeOreder 메소드로 주문을 받는다.


boolean 변수 payState로 값을 다 지불했는지 받아온다.

지불이 덜됐으면 false로 계속 돈을 받고

지불이 완료되면 true가 되어 while문을 빠져나온다.


그후 고객에게 담배를 주고 거스름돈을 준다.

마지막으로 customer와 store의 정보를 출력한 뒤

다시 담배를 살지 물어본다.


이것은 main을 돌릴 구문이다.


결과창

소비자의 잔고가 담배값보다 적으므로 판매를 종료한다.



'Back-end > Java' 카테고리의 다른 글

예외 ( Exception ) 2  (0) 2016.01.25
예외 ( Exception ) & try catch  (0) 2016.01.25
컬렉션 프레임워크 ( list )  (0) 2016.01.22
오버로딩(Overloading)  (0) 2016.01.21
생성자  (0) 2016.01.21