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();
 }
}


+ Recent posts