public class Quiz02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("잔돈을 입력하면 됩니다.");
int won = scanner.nextInt();
int oMan = won / 50000;
int man = (won % 50000) /10000;
int oChun = ((won % 50000)% 10000) /5000;
int chun = (((won % 50000)% 10000) % 5000) / 1000;
int oBak = ((((won % 50000)% 10000) % 5000) % 1000) /500;
int bak = (((((won % 50000)% 10000) % 5000) % 1000) % 500) / 100;
int oSip = ((((((won % 50000)% 10000) % 5000) % 1000) % 500) % 100) / 50;
int sip = (((((((won % 50000)% 10000) % 5000) % 1000) % 500) % 100) % 50) / 10;
System.out.println("오만원권:"+oMan + "장" + " 만원권:" + man + "장"+ " 오천원권:" + oChun + "장" + " 천원권:" + chun + "장" + " 오백원짜리동전:" +oBak + "장" + " 백원짜리동전:" + bak +"개" + " 오십원짜리동전:" + oSip + "개"+ " 십원짜리동전:" + sip + "개");
}
}
스캐너매서드를 사용해서 입력받는 값의 지폐의 갯수를 알려주는 알고리즘입니다. 여기서 지폐 갯수를 구하는 계산식을 생각해서 적용하는게 중요하다고 느끼고 있었고 저는 오만원권부터 오십원까지의 갯수를 하나하나 %를 해서 나온 값을 나눈값으로 구하는식으로 했습니다.
수업시간에 강사님께서 짜신 코드를 한번 보자.
public static void main(String[] args) {
int remain, money;
Scanner scanner = new Scanner(System.in);
System.out.println("금액을 입력하면 지폐 및 동전으로 나눠 드립니다.");
money = scanner.nextInt();
remain = money / 50000;
System.out.println("오만원권 === " + remain);
money = money % 50000;
remain = money / 10000;
System.out.println("만원권 === " + remain);
money = money % 10000;
remain = money / 5000;
System.out.println("오천원권 === " + remain);
money = money % 5000;
remain = money / 1000;
System.out.println("천원권 === " + remain);
money = money % 1000;
remain = money / 500;
System.out.println("오백원 === " + remain);
money = money % 500;
remain = money / 100;
System.out.println("백원 === " + remain);
money = money % 100;
remain = money / 50;
System.out.println("오십원 === " + remain);
money = money % 50;
remain = money / 10;
System.out.println("십원 === " + remain);
}
위에 코드를 보면 입력받은 값에 나머지 값들을 넣어 나온 나머지 값을 다음 지폐로 나눠서 갯수를 샐수가있습니다.