카테고리 없음

자바 응용 과제 - 자동판매기

유니크샤인 2023. 1. 19. 17:43
package assignment;


import java.util.Scanner;

public class 자동판매기 {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);		//참고로 stdIn 말로 다른 이름 써도 됨
        
		int price = 150;
		int quantity ; //물건 수량
		int pay;    //지불액
		int mw = 0, cw = 0, obw = 0, bw = 0, osw = 0, sw = 0;	// 만원, 천원, 오백원, 백원, 오십원, 십원
        
		System.out.print("금액 입력> ");
		pay = stdIn.nextInt();
		System.out.print("커피 구매량 입력> ");
		quantity = stdIn.nextInt();
		
		pay -= price * quantity;	//지불액에서 커피값x수량 만큼의 금액을 빼면 그게 거스름액이다.
		System.out.println("거스름돈: "+ pay);	//참고로 println 과 print의 차이는 출력 후 다음 줄로 넘어가느냐의 차이다.
		
		while(pay > 0) {
			if (pay / 10000 > 0) {	// 10000으로 나눈 몫 > 0 == 지불액이 만원보다 크다
				mw++;	//만원 거스름 추가
				pay -= 10000;		//지불액에서 만원 빼기
			} else if (pay / 1000 > 0) {	// 1000으로 나눈 몫 > 0 == 지불액이 천원보다 크다
				cw++;
				pay -= 1000;
			} else if (pay / 500 > 0) {	// 500으로 나눈 몫 > 0 == 지불액이 오백원보다 크다
				obw++;
				pay -= 5000;
			} else if (pay / 100 > 0) {	// 100으로 나눈 몫 > 0 == 지불액이 백원보다 크다
				bw++;
				pay -= 100;
			} else if (pay / 50 > 0) {	// 50으로 나눈 몫 > 0 == 지불액이 오십원보다 크다
				osw++;
				pay -= 50;
			} else if (pay / 10 > 0) {
				sw++;
				pay -= 10;
			}	
		}
		
		System.out.println("만원 " + mw + "장, 천원 " + cw + "장, 오백원: " + obw + "개, 백원: " + bw + "개, 오십원: " + osw + 
								"개, 십원: " + sw + "개");
		
	}

}