title: min change greedy algorithm in java
body: <p>Ok so i need to make a program to ask me for an amount of money, then I need it to tell me the least amount of coins to make it.  The coins I can use are: dollars, quarters, dimes, nickels, and pennies. For example, When I run the program it's supposed to look like this:</p>
  
  <pre><code>&gt; run Coins
  Enter the amount of given money:
   [1.73]
  Give the seller 8 coins:
  1 dollars,
  2 quarters,
  2 dime,
  0 nickels,
  3 pennies.
  </code></pre>
  
  <p>This is What I have so far:</p>
  
  <pre><code>import java.util.Scanner;
  
  class Coins {
    public static void main (String args[]) {
       Scanner input = new Scanner(System.in);
       double  money;
       System.out.println("Enter the amount of money ");
       money = input.nextDouble();
  
  
  
  
       while (money &gt; 0.0 ){
         if (money &gt;= 1) {
            System.out.println(money/1+"dollars");
            money -= 1;
  
       }
         else if (money&gt;=.25) {
           System.out.println(money/.25+"quarters");
           money-=.25;
  
         }
         else if (money&gt;=.10) {
           System.out.println(money/.10+"Dimes");
           money-=.10;
         }
         else if (money&gt;=.05) {
           System.out.println(money/.05+"Nickels");
           money-=.05;
         }
         else if (money&gt;=.01) {
           System.out.println(money/.01+"Penny");
           money-=.01;
         }
       }        
    }
  }  
  </code></pre>
  
  <p>The part I need help with is this: If I run the program and enter the amount 1.73, the way I have the code written, it takes the number 1.73, divides it by 1, and prints "1.73 dollars". I need a way to get rid of the decimal part so instead of printing "1.73 dollars", it prints "1 dollar". But I'm not sure how to do this. I tried converting it to an int but it messes up the flow of the other statements. Please help me.</p>