관리자에서 오류시에만 관리자메뉴다시나오기?

변수없이 loop돌리기

a랑 change 없이 출력계산하기


coffee의 get,set 메소드

             milk의 get,set 메소드

             sugar의 get,set 메소드

             amount의 get,set 메소드




1차  public void print()




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 print(){
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("보유금액 : " + amount);
 }
 
 
 public void manager(){
  System.out.println("관리자기능입니다.");
  print();
  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