Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.nio.charset.StandardCharsets;
  5.  
  6. public class Main {
  7.   /**
  8.    * Iterate through each line of input.
  9.    */
  10.   public static void main(String[] args) throws IOException {
  11.     InputStreamReader reader = new InputStreamReader(System.in);
  12.     BufferedReader in = new BufferedReader(reader);
  13.  
  14.     try {
  15.         double purchasePrice = Double.parseDouble(in.readLine());
  16.         double cash = Double.parseDouble(in.readLine());
  17.         Main.calculateChange(purchasePrice, cash);
  18.     } catch (Exception e) {
  19.         System.out.println(e);
  20.     }
  21.   }
  22.  
  23.   public enum change {
  24.    
  25.     fiftyPounds(5000, "Fifty Pounds"),
  26.     twentyPounds(2000, "Twenty Pounds"),
  27.     tenPounds(1000, "Ten Pounds"),
  28.     fivePounds(500, "Five Pounds"),
  29.     twoPounds(200, "Two Pounds"),
  30.     onePound(100, "One Pound"),
  31.     fiftyPence(50, "Fifty Pence"),
  32.     twentyPence(20, "Twenty Pence"),
  33.     tenPence(10, "Ten Pence"),
  34.     fivePence(5, "Five Pence"),
  35.     twoPence(2, "Two Pence"),
  36.     onePence(1, "One Pence");
  37.      
  38.    
  39.       private final int denom;
  40.       private final String price;
  41.      
  42.       change(int denomination, String value){
  43.         int denom = denomination;
  44.         String price = value;
  45.       }
  46.    
  47.       public int getDenom(){
  48.         return denom;
  49.       }
  50.       public String getPrice(){
  51.         return price;
  52.       }
  53.        
  54.   }
  55.  
  56.   public static void calculateChange(double purchasePrice, double cash) {
  57.    
  58.     int purchasePriceIn = (int) purchasePrice * 100;
  59.     int cashIn = (int) cash * 100;  
  60.     /**
  61.     int changeOwed = 0;
  62.     int finalDenom = 0;
  63.     int denomPrintAmount = 0;
  64.     String printState = ""
  65.     String addValue
  66.      */
  67.     String finalStatement = "";
  68.    
  69.    
  70.     if(purchasePriceIn < cashIn){  
  71.         int changeOwed = cashIn - purchasePriceIn;
  72.         for(change money : change.values()){
  73.            int finalDenom = (int) money.getDenom();
  74.            if(finalDenom <= changeOwed){
  75.              int denomPrintAmount = (int) Math.floor(changeOwed/finalDenom);
  76.              changeOwed -= denomPrintAmount * finalDenom;
  77.              if(denomPrintAmount > 0){
  78.                String printState = (String) money.getPrice() + ", ";
  79.                String addValue = printState.repeat(denomPrintAmount);
  80.                finalStatement = finalStatement + addValue;
  81.              }
  82.            }            
  83.          }
  84.          System.out.println("Here");
  85.          System.out.println(finalStatement);
  86.      }
  87.    
  88.     else if(purchasePriceIn == cashIn){      
  89.     System.out.println("Zero");
  90.     }
  91.    
  92.     else{        
  93.     System.out.println("ERROR");  
  94.     }
  95.          
  96.   }
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement