자판기 만들기


패키지명 : com.coffee

-------------------------------------

클래스명 : CoffeMachine

-------------------------------------

멤버변수 : coffee(커피) = 10;

           milk(프림) = 10;

           sugar(설탕) = 10;

           amount(동전이 누적될 변수);

--------------------------------------

멤버메소드 : coffee의 get,set 메소드

             milk의 get,set 메소드

             sugar의 get,set 메소드

             amount의 get,set 메소드

             

             process() 

              1. 동전입력

              3. 동전 누적

              4. 커피, 프림, 설탕량 차감

                 (5)   (3)    (1)

              5. 거스름돈 처리

        

             print()

               커피 : 현재량 

               프림 : 현재량

               설탕 : 현재량

               동전 : 현재량


            커피를 마실 때 마다 커피,프림,설탕량이

            차감 되기 때문에 0가 되면 판매 중지 



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;
 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 (a>=300){
   change = a - 300;
   if (coffee >=5  && milk >= 3 &&  suger >= 1 ){
    System.out.println("거스름 : " +  change);
    System.out.println("맛 좋은 커피가 준비되었습니다.");
    //커피한잔 소모 
    coffee -= 5;
    milk -= 3;
    suger -= 1;
    amount += 300;  
   }
   else System.out.println("커피가 부족합니다.");
  }
  else{System.out.println("금액이 부족합니다.");}
 }


 public void manager(){
  System.out.println("관리자기능입니다.");
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("보유금액 : " + amount);
  System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3: 종료 >>");
  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 b=scan.nextInt();
   if(amount >= b){
    amount -= b;
    System.out.println("요청한금액을 처리하였습니다.");
   }else{System.out.println("금액이 부족합니다.");}
   break; 

   //반복종료
  case 3 : System.out.println("종료하였습니다.");
  loop =false;break;


  //오류 - 구간만 다시 시작하는법?
  default : System.out.println("잘못입력 하였습니다.");
  } 
 }


 public static void main(String[] args){
  CoffeeMachine cm = new CoffeeMachine(); 
  cm.process();
 }
}


+ Recent posts