Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class ChangeGiven {
- //The problem assumes no change is needed for the cost of the item/money given.
- public static void main(String[] args) {
- final int RETRY = 1;
- int price;
- int amtUsedToPay;
- Scanner priceIn = new Scanner(System.in);
- System.out.print("Please enter the price of the item >> ");
- price = priceIn.nextInt();
- // Loop used to prevent numbers that wouldn't make sense.
- while (RETRY >=0) {
- System.out.print("Please enter the amount of cash given >> ");
- amtUsedToPay = priceIn.nextInt();
- if (price > amtUsedToPay) {
- System.out.println("Please make sure you pay at least enough to buy the item!");
- }
- else if (amtUsedToPay > (price + 99) ) {
- System.out.println("No need to attempt to pay $100 or more over the selling price.");
- }
- else {
- break;
- }
- }
- denomCalc(price, amtUsedToPay);
- }
- /*Denominations to receive money back are assumed as $1, $5, $10, $20, and/or $50.
- Also, there are multiple scenarios of money being received back.
- Example: an amount of $17 could result in the following:
- - $10, $5, two $1's
- - A $10 and seven $1's
- - Three $5's two $1's
- - Two $5's seven $1's
- - A $5 and twelve $1's
- - Seventeen $1's
- Instead of this, the most likely scenario of money being given back is used.
- */
- public static void denomCalc(int price, int amount) {
- int diff = (amount - price);
- if (diff == 0) {
- System.out.println("You will receive no money back.");
- }
- else if (diff < 5 ) {
- System.out.println("You will receive back $" + diff + " in $1 bills.");
- }
- else if (diff == 5) {
- System.out.println("You will receive a $5 bill back.");
- }
- else if (diff > 5 && diff < 10) {
- System.out.println("You will receive a $5 bill and $" + (diff - 5) + " in $1 bills back.");
- }
- else if (diff == 10) {
- System.out.println("You will receive a $10 bill back.");
- }
- else if (diff > 10 && diff < 15) {
- System.out.println("You will receive a $10 bill and $" + (diff - 10) + " in $1 bills back.");
- }
- else if (diff == 15) {
- System.out.println("You will receive a $10 bill and $5 bill back.");
- }
- else if (diff > 15 && diff < 20) {
- System.out.println("You will receive a $10 bill, a $5 bill and $" + (diff - 15) + " in $1 bills back.");
- }
- else if (diff == 20) {
- System.out.println("You will receive a $20 bill back.");
- }
- else if (diff > 20 && diff < 25) {
- System.out.println("You will receive a $20 bill, and $" + (diff - 20) + " in $1 bills back.");
- }
- else if (diff == 25) {
- System.out.println("You will receive a $20 bill and a $5 bill back.");
- }
- else if (diff > 25 && diff < 30) {
- System.out.println("You will receive a $20 bill, a $5 bill, and $" + (diff - 25) + " in $1 bills back.");
- }
- else if (diff == 30) {
- System.out.println("You will receive a $20 bill and a $10 bill back.");
- }
- else if (diff > 30 && diff < 35) {
- System.out.println("You will receive a $20 bill, a $10 bill and $" + (diff - 30) + " in $1 bills back.");
- }
- else if (diff == 35) {
- System.out.println("You will receive a $20 bill, a $10 bill, and a $5 bill back.");
- }
- else if (diff > 35 && diff < 40) {
- System.out.println("You will receive a $20bill, a $10 bill, a $5 bill and $" + (diff - 35) + " in $1 bills back.");
- }
- else if (diff == 40) {
- System.out.println("You will receive two $20 bills back.");
- }
- else if (diff > 40 && diff < 45) {
- System.out.println("You will receive two $20 bills, and $" + (diff - 40) + " in $1 bills back.");
- }
- else if (diff == 45) {
- System.out.println("You will receive two $20 bills and a $5 bill back.");
- }
- else if (diff > 45 && diff < 50) {
- System.out.println("You will receive two $20 bills, a $5 bill and $" + (diff - 45) + " in $1 bills back.");
- }
- else if (diff == 50) {
- System.out.println("You will receive a $50 bill.");
- }
- else if (diff > 50 && diff < 55) {
- System.out.println("You will receive a $50 and $" + (diff - 50) + " in $1 bills back.");
- }
- else if (diff == 55) {
- System.out.println("You will receive a $50 bill and $5 bills.");
- }
- else if (diff > 55 && diff < 60) {
- System.out.println("You will receive two $20 bills, a $5 bill and $" + (diff - 55) + " in $1 bills back.");
- }
- else if (diff == 60) {
- System.out.println("You will receive a $50 bill and a $10 bill back.");
- }
- else if (diff > 60 && diff < 65) {
- System.out.println("You will receive a $50 bill, a $10 bill, and $" + (diff - 60) + " in $1 bills back.");
- }
- else if (diff == 65) {
- System.out.println("You will receive a $50 bill, a $10 bill, and a $5 bill.");
- }
- else if (diff > 65 && diff < 70) {
- System.out.println("You will receive a $50 bill, a $10 bill, a $5 bill, and $" + (diff - 65) + " in $1 bills back.");
- }
- else if (diff == 70) {
- System.out.println("You will receive a $50 bill and a $20 bill back.");
- }
- else if (diff > 70 && diff < 75) {
- System.out.println("You will receive a $50 bill, a $20 bill, and $" + (diff - 70) + " in $1 bills back.");
- }
- else if (diff == 75) {
- System.out.println("You will receive a $50 bill, a $20 bill, and a $5 bill back.");
- }
- else if (diff > 75 && diff < 80) {
- System.out.println("You will receive a $50 bill, a $20 bill, a $5 bill and $" + (diff - 75) + " in $1 bills back.");
- }
- else if (diff == 80) {
- System.out.println("You will receive a $50 bill, a $20 bill, and a $10 bill.");
- }
- else if (diff > 80 && diff < 85) {
- System.out.println("You will receive a $50 bill, a $20 bill, a $10 bill and $" + (diff - 80) + " in $1 bills back.");
- }
- else if (diff == 85) {
- System.out.println("You will receive a $50 bill, a $20 bill, a $10 bill, and a $5 bill.");
- }
- else if (diff > 85 && diff < 90) {
- System.out.println("You will receive a $50 bill, a $20 bill, a $10 bill, a $5 bill and $" + (diff - 85) + " in $1 bills back.");
- }
- else if (diff == 90) {
- System.out.println("You will receive a $50 bill and two $20 bills.");
- }
- else if (diff > 90 && diff < 95) {
- System.out.println("You will receive a $50 bill, two $20 bills, and $" + (diff - 90) + " in $1 bills back.");
- }
- else if (diff == 95) {
- System.out.println("You will receive a $50 bill, two $20 bills, and a $5 bill.");
- }
- else {
- System.out.println("You will receive a $50 bill, two $20 bills, a $5 bill and $" + (diff - 95) + " in $1 bills back.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement