File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes displaying total amounts Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "displaying total amounts" Watch "displaying total amounts" New topic

displaying total amounts

john corsic

Joined: May 14, 2005
Posts: 13
I've created a program that computes real estate commissions. The program prompts the user if they want to do a transaction. It then prompts them for the sale price and the property type (the property type corresponds with a certain rate). The program then calculates the commission and displays it. After the commission is displayed the program asks if you would like to do another transaction and continues to do so until the user selects no.
What I want to do is when the user selects no I want the program to display the total amount of the properties entered, and the total amount of the commissions calculated (both formatted as currency).

Also, if you have time. When the user enters an incorrect property type I want the program to say that it is an incorrect property type and to enter another one. I know how to display the message I just don't know how to go back to ask for the property type again.

Here is what i have done so far:

// Calculates real estate commissions
import javax.swing.JOptionPane;

public class Calculator {
/** Main method */
public static void main(String[] args) {
double salePrice;
double commissionRate = 0;

while ( JOptionPane.showConfirmDialog(
"Perform a transaction?",
JOptionPane.YES_OPTION ) {

// Enter sale price
String salePriceString = JOptionPane.showInputDialog (null,
"Enter sale price",
"Calculator Input", JOptionPane.QUESTION_MESSAGE);

salePrice = Double.parseDouble(salePriceString);

// Enter property code (residential, multidwelling or commercial)
String propertyTypeString = JOptionPane.showInputDialog (null,
"Enter property code (residential (R), multidwelling (M) or commercial(C))",
"Calculator Input", JOptionPane.QUESTION_MESSAGE);

if (propertyTypeString.equals ("R"))
commissionRate = 0.070;
else if (propertyTypeString.equals ("M"))
commissionRate = 0.060;
else if (propertyTypeString.equals ("C"))
commissionRate = 0.035;
JOptionPane.showMessageDialog (null,
"Error: Wrong property code, please try again",
"Calculator Output", JOptionPane.INFORMATION_MESSAGE);



// Calculate commission
double commission = salePrice * commissionRate;

// Format to keep two digits after the decimal point
commission = (int)(commission * 100) / 100.0;

// Show results
"the commission is" + commission,
"Calculator Output",


Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

Outside of your big while loop, declare variables to hold the two totals and initialize them to zero. Inside your while, at the end, add the numbers for that iteration to the totals. Then after your loop, display those totals (look at the java.text.DecimalFormat class for some help with formatting numbers.)

Regarding the "ask again": Make another while loop, that encloses the prompt for property type and the if-else chain. Each branch should use "break" to terminate this while, except for the last one which prints the error message. This one should allow the loop to repeat and prompt again.

[Jess in Action][AskingGoodQuestions]
Carol Enderlin
Ranch Hand

Joined: Oct 10, 2000
Posts: 1364
I'm going to quote Jeff Bosch from what looks like your previous post,

...could you please use the CODE UBB tags to enclose any code in future posts? Doing so maintains the formatting and makes reading it a whole lot easier.
I agree. Here's the link:
subject: displaying total amounts
It's not a secret anymore!