1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Help me with a Java code problem

  1. Mar 26, 2008 #1
    I had to write a java program that will give you the change for whatever random number that program picks. I keep having a problem with the pennies. If have to have more than one penny then program will repeat the output until it gets the pennines right. PLEASE HELP!!! I am not really good at Java so the program my look really bad please help!!!!!

    import javax.swing.*;
    public class CoinCounter
    {

    public static void main(String[] args)
    {
    int quarter = 25;
    int dime = 10;
    int nickel = 5;
    int penny = 1;
    int numQuarters = 0;
    int numDimes = 0;
    int numNickels = 0;
    int numPennies = 0;



    int r = (int)(Math.random() * 99);
    int changeRequired = r;

    while(changeRequired > 0){

    if(changeRequired - quarter>= 0){
    numQuarters ++;
    changeRequired -= quarter;
    continue;
    }
    if(changeRequired - dime >= 0){
    numDimes ++;
    changeRequired -= dime;
    continue;
    }
    if(changeRequired - nickel >= 0){
    numNickels ++;
    changeRequired -= nickel;
    continue;
    }
    if(changeRequired - penny >= 0){
    numPennies ++;
    changeRequired -= penny;

    System.out.println("Your change is: " + r );
    System.out.println(numQuarters+" Quarters");
    System.out.println(numDimes+" Dimes");
    System.out.println(numNickels+" Nickels");
    System.out.println(numPennies+" Pennies");
    }
    }
    }
    }

    Here is the output:
    Your change is: 43
    1 Quarters
    1 Dimes
    1 Nickels
    1 Pennies
    Your change is: 43
    1 Quarters
    1 Dimes
    1 Nickels
    2 Pennies
    Your change is: 43
    1 Quarters
    1 Dimes
    1 Nickels
    3 Pennies

    Process completed.
     
  2. jcsd
  3. Mar 26, 2008 #2
    The pennies is the "catch all" condition. I suspect if you used larger change amounts that your program would produce unexpected results. For example, 62 cents will return most likely something other than 2 quarters, 1 dime and 2 pennies (probably 1 quarter, 2 dimes, 3 nickels and 2 pennies). Using your logic, what you SHOULD do is keep subtracting quarters until you can subtract no more, then dimes, then nickels and the remainder must be pennies finally. Do you know about modular arithmetic? You can seriously do the entire program in 1 line of code with it.
     
    Last edited: Mar 26, 2008
  4. Mar 27, 2008 #3
    jhicks
    even with higher amounts is does that same thing only if i need more than one penny. So if it is was 62 it would give me 2 quarters, 1 dime, 1 penny then 2 quarters, 1 dime, 2 pennies. See my problem???? How do I keep subtracting quarters until there are no more than dime and so on!?!?!? I am really new and I am struggling to do this right. I have no clue what modular arithmetic is I am a 28 year old college freshman sationed overseas trying to get a degree so any help, books, or websites I should read would be a great help thanks in advance
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Help me with a Java code problem
  1. Java problem (Replies: 55)

  2. Java Help (Replies: 6)

Loading...