package com.coffee;
import java.util.Scanner;
public class CoffeeMachine {
Scanner scan = new Scanner(System.in);
protected int coffee = 10;
protected int milk = 10;
protected int suger =10;
protected int amount;//들어오는돈
protected int change=10000;//거스름돈통
boolean loop=true;
public void process(){
while(loop){
System.out.print("1: 커피마시기, 2:관리자, 3: 종료 >>");
switch(scan.nextInt()){
//커피판매
case 1 : buy(); break;
//관리자모드
case 2 : manager(); break;
//반복종료
case 3 : System.out.println("종료하였습니다.");
loop =false;break;
//오류
default : System.out.println("잘못입력 하였습니다.");
}
}
}
public void buy(){
//동전투입
System.out.print("동전을 넣으세요 (커피값 300원) : ");
int a= scan.nextInt();
//판매
if (coffee >=5 && milk >= 3 && suger >= 1 ){
if (a>=300 && a <= change+300){
System.out.println("거스름 : " + (a - 300));
System.out.println("맛 좋은 커피가 준비되었습니다.");
//커피한잔 소모
coffee -= 5;
milk -= 3;
suger -= 1;
//잔고정리
change -= a-300;
amount += a;}
else if (a < 300){
System.out.println("금액이 부족합니다. 커피값은 300원 입니다.");}
else if (a > change+300){
System.out.println("거스름돈이 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#.");
}
}
else {System.out.println("커피가 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#");}
}
public void print(){
System.out.println("======현재 자판기 정보======");
System.out.println("커피양 : " + coffee);
System.out.println("프림양 : " + milk);
System.out.println("설탕양 : " + suger);
System.out.println("커피값통 : " + amount);
System.out.println("거스름통 : " + change);
}
public void manager(){
System.out.println("관리자기능입니다.");
print();
System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3:거스름통 채우기, 4: 전단계, 5: 종료 >>");
switch(scan.nextInt()){
//커피 프림 설탕 채우기
case 1 :
System.out.print("커피=>");
coffee += scan.nextInt();
System.out.print("프림=>");
milk += scan.nextInt();
System.out.print("설탕=>");
suger += scan.nextInt();
break ;
//동전수거
case 2 :
System.out.print("동전수거금액 >>>>");
int a = scan.nextInt();
if(amount >= a){
amount -= a;
System.out.println("요청한금액을 처리하였습니다.");
}else{System.out.println("금액이 부족합니다.");}
break;
//거스름통채우기
case 3 :
System.out.print("거스름통 채울 금액 >>>>");
change += scan.nextInt();;
System.out.println("요청한금액을 처리하였습니다.");
break;
case 4 : break;
//반복종료
case 5 : System.out.println("종료하였습니다.");
loop =false;break;
//오류 - 구간만 다시 시작하는법?
default : System.out.println("잘못입력 하였습니다.");
}
}
public static void main(String[] args){
CoffeeMachine cm = new CoffeeMachine();
cm.process();
}
}