programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
• Campbell Ritchie
• Liutauras Vilda
• Devaka Cooray
• Jeanne Boyarsky
• Bear Bibeault
Sheriffs:
• Junilu Lacar
• Paul Clapham
• Knute Snortum
Saloon Keepers:
• Ron McLeod
• Tim Moores
• Stephan van Hulst
• salvin francis
• Carey Brown
Bartenders:
• Tim Holloway
• Frits Walraven
• Ganesh Patekar

# Display nothing if == 0

Greenhorn
Posts: 2
I am having a problem with the following exercise out of my University text book. I have figured out how to do everything except how to not display 0 amounts. Any help would be appreciated. Please bear with the length.
Thanks.
import javax.swing.JOptionPane;
public class Exercise3_1 {
/** Main method */
public static void main(String[] args) {
int amount; // Amount entered from the keyboard

// Receive the amount entered from the keyboard
String amountString = JOptionPane.showInputDialog(null,
"Enter an amount in integer, for example 1156",
"Compute Change", JOptionPane.QUESTION_MESSAGE);

// Convert string to integer
amount = Integer.parseInt(amountString);

int remainingAmount = amount;

// Find the number of one dollars
int numOfOneDollars = remainingAmount / 100;
remainingAmount = remainingAmount % 100;

// Find the number of quarters in the remaining amount
int numOfQuarters = remainingAmount / 25;
remainingAmount = remainingAmount % 25;

// Find the number of dimes in the remaining amount
int numOfDimes = remainingAmount / 10;
remainingAmount = remainingAmount % 10;

// Find the number of nickels in the remaining amount
int numOfNickels = remainingAmount / 5;
remainingAmount = remainingAmount % 5;

// Find the number of pennies in the remaining amount
int numOfPennies = remainingAmount;

String dollar = "";
String quarter = "";
String dime = "";
String nickel = "";
String penny = "";

if (numOfOneDollars == 0)
dollar = "";
else
dollar = (numOfOneDollars == 1) ? " Dollar" : " Dollars";

if (numOfQuarters == 0)
quarter = "";
else
quarter = (numOfQuarters == 1) ? " Quarter" : " Quarters";

if (numOfDimes == 0)
dime = "";
else
dime = (numOfDimes == 1) ? " Dime" : " Dimes";

if (numOfNickels == 0)
nickel = "";
else
nickel = (numOfNickels == 1) ? " Nickel" : " Nickels";

if (numOfPennies == 0)
penny = "";
else
penny = (numOfPennies ==1) ? " Penny" : " Pennies";

// Display results
String output = "Your amount " + amount + " consists of \n" +
numOfOneDollars + dollar + " \n" +
numOfQuarters + quarter + " \n" +
numOfDimes + dime + " \n" +
numOfNickels + nickel + " \n" +
numOfPennies + penny;

JOptionPane.showMessageDialog(null, output,
"Example 2.4 Output", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}

Ranch Hand
Posts: 1067
2
When doing an "equal" for a string you need to use the "equals" method on the String class.

Mark Vermeer
Greenhorn
Posts: 2
Sorry for not using code tags - I did not RTFM.
Here is my code again. Any help in not displaying the 0 amount would be appreciated.

Sheriff
Posts: 6450
You might want to work on this section of your code:

If I understand you correctly, if all you had was one dollar, then you would want your output to be simply "Your amount \$1.00 consists of one dollar".
If that's the case, let me give you a couple of hints to point you in the right direction. You should actually check out the StringBuffer class to do this with, since it's more efficient. In any event, what you might think about when building your output String is checking if your amount of a particular currency is greater than zero, and if it is, append the appropriate text to your String or StringBuffer.
If you initialize your StringBuffer eariler, you actually already have your if statements in place to determine whether or not to append anything to the StringBuffer, and what you should append.
HTH
[ November 07, 2003: Message edited by: Jason Menard ]

 All of the world's problems can be solved in a garden - Geoff Lawton. Tiny ad: RavenDB is an Open Source NoSQL Database thatâ€™s fully transactional (ACID) across your database https://coderanch.com/t/704633/RavenDB-Open-Source-NoSQL-Database