영보의 SystemOut.log

[Java] 거스름돈 반환 프로그램 본문

국비교육(아이티센 입사교육)/Java

[Java] 거스름돈 반환 프로그램

영보로그 2021. 10. 1. 21:30
반응형

 문제

키보드에서 돈의 액수를 입력받아 오만원권, 만원권, 오천원권, 천원권 각 몇 매 그리고 500원 짜리 동전, 100원 짜리 동정, 50원 짜리 동전, 10원 짜리 동전, 1원 짜리 동전 몇 개로 변환 되는지 출력하세요. 예를 들어 56790원이 입력되면 오만원권 1매, 오천원권 1매, 천원권 1매, 오백원 1개, 백원 2개, 오십원 1개, 십원 4개이다. (단, 배열 적용, for 문, while문, if문을 활용하여 프로그램을 작성한다.)

 

 

 

 코드

package 실습문제1회;

import java.util.Scanner;

public class ChangeMoney {
	public static void main(String[] args) {
		
		int[] arrMoney = {50000, 10000, 5000, 1000, 500, 100, 50, 10, 1};
		String[] str = {"오만원권", "만원권", "오천원권", "천원권", "오백원", "백원", "오십원", "십원", "일원"};
		int[] result = new int[9]; // 0으로 초기화
		
		System.out.println("금액을 입력하세요 >>> ");
		Scanner in = new Scanner(System.in);
		int Money = in.nextInt(); // 입력받은 문자열을 정수로 변환하여 입력
		
		// 처리와 출력을 한번에 처리!
		for(int i=0; i<arrMoney.length; i++) {
			int num = Money/arrMoney[i]; //몫
			int remainer = Money % arrMoney[i]; // 나머지
			Money = remainer ;
			
			if(num > 0 && i <4) {
				System.out.println(str[i] + " " + num + "매");
			}else if(num > 0 && i >=4) {
				System.out.println(str[i] + " " + num + "개");
			}
		}
	}
}

 

 

 

반응형