자판기 만들기
패키지명 : 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(); } }
'Java > 연습문제' 카테고리의 다른 글
자판기 만들기 4(스위치문 ->if 문 브레이크로 while탈출) (0) | 2012.04.14 |
---|---|
자판기 만들기 3( 커피값받는통 거스름돈통 분리) (0) | 2012.04.14 |
자판기 만들기 2 (0) | 2012.04.14 |
교통정보 만들기 (간단히) (0) | 2012.04.13 |
성적 프로그램 입력받아서 출력하기 (0) | 2012.04.13 |