관리 메뉴

nalaolla

if~else 자판기 본문

JAVA/3. Control

if~else 자판기

날아올라↗↗ 2015. 12. 20. 16:44
728x90
반응형
  1. package test.com;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Test03VendingMachine {
  6.  
  7.     public static void main(String[] args) {
  8.         // TODO Auto-generated method stub
  9.         // 콜라500, 사이다700, 쥬스1000
  10.        
  11.         final String TITLE = "[자판기 프로그램]";                    //타이틀 ment 초기화
  12.         String line = "==================================";  //라인설정
  13.        
  14.         String prod1Name = "콜라";
  15.         String prod2Name = "사이다";
  16.         String prod3Name = "쥬스";
  17.        
  18.         int prod1Price = 500;      //제품1 금액
  19.         int prod2Price = 700;      //제품2 금액
  20.         int prod3Price = 1000;    //제품3 금액
  21.        
  22.         int inputPrice = 0;  //입력금액 초기화
  23.         int restPrice = 0;      //잔액 초기화
  24.         int selectProd = 0;   //선택한 제품코드
  25.         int selectCnt = 0;
  26.         int errorCnt = 0;
  27.         String errorMassage = "기타";
  28.        
  29.         String selectProdStr = "";  //선택된 제품명
  30.        
  31.         String inputStr = "금액을 입력하세요 : ";      //금액입력 안내문구
  32.         String selectStr = "음료수를 선택하세요";    //음료선택 안내문구
  33.        
  34.         System.out.println(TITLE);
  35.         System.out.println(line);
  36.        
  37.        
  38.        
  39.         Scanner scanner = new Scanner(System.in);
  40.        
  41.         System.out.print(inputStr);
  42.         inputPrice = scanner.nextInt();
  43.        
  44.         if (inputPrice < 500) {
  45.             System.out.println("금액이 부족합니다.");
  46.            
  47.         } else if( inputPrice >= 500 && inputPrice < 700) {
  48.             System.out.println(selectStr + "(1." +prod1Name+")");
  49.            
  50.             System.out.print("선택제품 : ");
  51.             selectProd = scanner.nextInt();
  52.            
  53.            
  54.             if(selectProd == 1) {
  55.                
  56.                 selectProdStr = prod1Name;
  57.                
  58.                 System.out.print("수량선택 : ");
  59.                 selectCnt = scanner.nextInt();
  60.                
  61.                 if(inputPrice < (prod1Price * selectCnt)) {
  62.                     errorCnt = 1;
  63.                     errorMassage = "잔액부족(수량많음)";
  64.                 }
  65.                 restPrice = inputPrice - prod1Price;
  66.                
  67.             } else {
  68.                 System.out.println("선택할 수 없는 제품입니다.");
  69.                 errorCnt = 1;
  70.                 errorMassage = "선택오류";
  71.             }
  72.            
  73.            
  74.            
  75.         } else if( inputPrice >= 700 && inputPrice < 1000) {
  76.             System.out.println(selectStr + "(1." +prod1Name+ "2."+prod2Name+")");
  77.            
  78.             System.out.print("선택제품 : ");
  79.             selectProd = scanner.nextInt();
  80.            
  81.             if(selectProd == 1) {
  82.                 selectProdStr = prod1Name;
  83.                
  84.                
  85.                 System.out.print("수량선택 : ");
  86.                 selectCnt = scanner.nextInt();
  87.                
  88.                 if(inputPrice < (prod1Price * selectCnt)) {
  89.                     errorCnt = 1;
  90.                     errorMassage = "잔액부족(수량많음)";
  91.                 }
  92.                
  93.                 restPrice = inputPrice - (prod1Price * selectCnt);
  94.                
  95.             } else if(selectProd == 2) {
  96.                 selectProdStr = prod2Name;
  97.                
  98.                 System.out.print("수량선택 : ");
  99.                 selectCnt = scanner.nextInt();
  100.                
  101.                 if(inputPrice < (prod2Price * selectCnt)) {
  102.                     errorCnt = 1;
  103.                     errorMassage = "잔액부족(수량많음)";
  104.                 }
  105.                
  106.                 restPrice = inputPrice - (prod2Price * selectCnt);
  107.                
  108.             } else {
  109.                 System.out.println("선택할 수 없는 제품입니다.");
  110.                 errorCnt = 1;
  111.                 errorMassage = "선택오류";
  112.             }
  113.            
  114.         } else {
  115.             System.out.println(selectStr + "(1." +prod1Name+ "2."+prod2Name+ "3."+prod3Name+")");
  116.            
  117.             System.out.print("선택제품 : ");
  118.             selectProd = scanner.nextInt();
  119.            
  120.             if(selectProd == 1) {
  121.                 selectProdStr = prod1Name;
  122.                
  123.                 System.out.print("수량선택 : ");
  124.                 selectCnt = scanner.nextInt();
  125.                
  126.                 if(inputPrice < (prod1Price * selectCnt)) {
  127.                     errorCnt = 1;
  128.                     errorMassage = "잔액부족(수량많음)";
  129.                 }
  130.                
  131.                 restPrice = inputPrice - (prod1Price * selectCnt);
  132.                
  133.             } else if(selectProd == 2) {
  134.                 selectProdStr = prod2Name;
  135.                
  136.                 System.out.print("수량선택 : ");
  137.                 selectCnt = scanner.nextInt();
  138.                
  139.                 if(inputPrice < (prod2Price * selectCnt)) {
  140.                     errorCnt = 1;
  141.                     errorMassage = "잔액부족(수량많음)";
  142.                 }
  143.                
  144.                 restPrice = inputPrice - (prod2Price * selectCnt);
  145.                
  146.             } else if(selectProd == 3) {
  147.                 selectProdStr = prod3Name;
  148.                
  149.                 System.out.print("수량선택 : ");
  150.                 selectCnt = scanner.nextInt();
  151.                
  152.                 if(inputPrice < (prod3Price * selectCnt)) {
  153.                     errorCnt = 1;
  154.                     errorMassage = "잔액부족(수량많음)";
  155.                 }
  156.                 restPrice = inputPrice - (prod3Price * selectCnt);
  157.             } else {
  158.                 System.out.println("선택할 수 없는 제품입니다.");
  159.                 errorCnt = 1;
  160.                 errorMassage = "선택오류";
  161.             }
  162.         }
  163.        
  164.        
  165.         if (errorCnt > 0) {
  166.             System.out.println("에러발생 : " + errorMassage);
  167.             System.out.println("잔액은 " + inputPrice + "원 입니다.");
  168.         } else {
  169.        
  170.             if (inputPrice >= 500) {
  171.             System.out.println("선택한 음료는 " + selectProdStr + "입니다.");
  172.             System.out.println("잔액은 " + restPrice + "원 입니다.");
  173.             }
  174.         }
  175.        
  176.         System.out.println(line);
  177.        
  178.         System.out.println(" [종료]");
  179.  
  180.     }
  181.  
  182. }


728x90
반응형

'JAVA > 3. Control' 카테고리의 다른 글

if~else game  (0) 2015.12.20
if~else 자판기2  (0) 2015.12.20
while과 switch문 사용 연락처입력  (0) 2015.12.20
if~else 성적처리 프로그램  (0) 2015.12.20
if~else 수당계산  (0) 2015.12.20