본문 바로가기
국비/JAVA

메서드,반복문, 조건문을 이용한 자판기만들기

by haheaven 2021. 8. 29.

 

 

 

- 수업 내용 

vendingMachine 클래스에 pushButton() 기능을 설계해서 

new를 통해 VendingMachine 객체를 생성한 후 

참조변수 vm을 통해 pushButton메서드 구현

 

 

 

 


 

 

- 변형해서 생각해보기 

vendingMachine 클래스에 pushButton() 기능을 설계해서  new를 통해 VendingMachine 객체를 생성한 후 참조변수 vm을 통해 pushButton메서드 구현함 

+ pushButton메서드에는 음료수입력, 음료수 반환, 잔돈, 모자른 돈 모두 나오게끔 구현하기

 

1. 메인클래스 

public class MainClass {

	public static void main(String[] args) {
	     VendingMachine vm =new VendingMachine();
	
			System.out.println(vm.pushButton());

			
	}
}

2. VendingMachine 클래스

import java.util.Scanner;
class VendingMachine2 {	
				
				
int water = 500; int cider =1000; int coke = 1500;
int change;   int shortmoney; 
		
Scanner sc = new Scanner(System.in);
		
String pushButton() {
	
 while(true) {
			
System.out.print("음료수를 선택해세요(1.생수:500원, 2.사이다:1000원, 3.콜라:1500) 4.반환 >> ");		
int choice = sc.nextInt();
System.out.println("돈을 넣어주세요 >> ");
int money =  sc.nextInt();
				
				
	switch(choice) {
	  case 1: 
       //잔돈 
		change = money - water;
        //부족한돈
		shortmoney = Math.abs(water-money);
		  if(money>=water) {     //내돈이 가격보다 많은 경우 
		    if(change > 0) {   //가격보다 많고 잔돈이 남는경우 
			  System.out.println("생수입니다, 잔돈 " + change +"원 가져가세요."); //생수와 잔돈 출력 
		    } else  System.out.println("생수입니다.");  //잔돈이 0이면 생수만 출력
				    		
		 } else  //돈이 부족한 경우 
			 System.out.println(shortmoney+ "원이 부족합니다. "+money +"원은 가져가세요.");
			    break;
				      
	 case 2: 
	   change = money -cider;
	   shortmoney = Math.abs(cider-money);
		 if(money>=cider) {
		   if(change > 0) {
				System.out.println("사이다입니다, 잔돈 " + change +"원 가져가세요.");
			  } else   System.out.println("사이다입니다.");
				    			
		   } else
			    System.out.println(shortmoney+ "원이 부족합니다. "+money +"원은 가져가세요.");
				  break;
				      
	  case 3: 
		 change = money - coke;
	     shortmoney = Math.abs(coke-money);
		   if(money>=coke) {
			  if(change > 0) {
				System.out.println("콜라입니다, 잔돈 " + change +"원 가져가세요.");
			  } else System.out.println("콜라입니다.");
				    			
		    } else
			    System.out.println(shortmoney+ "원이 부족합니다. "+money +"원은 가져가세요.");
				    break;
                       
	 case 4:
		 System.out.println("반환을 입력했습니다. 돈 " +money+"원을 가져가세요.");
			break;
				      
	 default :
	   System.out.println("잘못 입력했습니다. 돈 " +money+"원을 가져가세요.");
	    	 break;
	} // end of switch
							
	        return "이용해 주셔서 감사합니다. 안녕히 가세요";
					
			} //end of while
		}
	}

'국비 > JAVA' 카테고리의 다른 글

문자 기반 (보조)Stream  (0) 2021.09.02
컬렉션 프레임워크  (0) 2021.09.01
LOMBOK  (0) 2021.09.01
상속_추상클래스와 인터페이스  (0) 2021.08.30
Array를 이용해 성적 관리 프로그램 만들기  (0) 2021.08.27

댓글