0

I think I have a cluster of a mess here and was wondering if someone could help me in the right direction. I am trying to write a small program that will calculate the gain and/or loss of the sale of stock. The program will ask the user for the number of shares, the purchase price and the selling price. I am pretty sure that the errors is coming from my calculations in the program.

Here is my code thus far:

import java.util.Scanner;
public class investmentCalculator {

    public static void main (String[] args) {

                 Scanner input = new Scanner(System.in);

                 double shares, purchase, selling;
                 int amountGain = 0, percentGain;

                //User input for initial investment
                System.out.print("Enter the number of shares: ");
                double shares1 = input.nextDouble();

                //User input for years invested
                System.out.print("Enter the purchase price: ");
                double purchase1 = input.nextDouble();

                //User input for monthly interest rate
                System.out.print("Enter the selling price: ");
                double selling1 = input.nextDouble();

                //Compute the future investment
                double percentGain1 = (purchase1 - selling1) / (purchase1);



                //Display result
                System.out.println("Percent gain / loss:  " + percentGain1);
                System.out.println("Amount gain / loss: " + amountGain);
              }
}

My Output is not correct though. I am thinking it has to do with my calculations. I am stuck and not sure what else I have to do to tweek it. Would someone be as kind to help me through this program? Many thanks in advance.

Here is my output:

Enter the number of shares: 1000
Enter the purchase price: 10.00
Enter the selling price: 20.00
Percent gain / loss:  -1.0
Amount gain / loss: 0
2
Contributors
4
Replies
31
Views
3 Years
Discussion Span
Last Post by stultuske
0

this is not really a Java question, it's your logic that doesn't make much sense.

percent gain or loss, against what? what you originally paid?
so: calculate your original cost
(shares * purchase1) = originalCost
next, what you earned:
(shares * selling1) = earning

earning - originalCost => amountGainedOrLost
percentGain = amountGainedOrLost/(originalCost/100)

// that is if I understand your requirements correctly.

0

Ok, I think I have the right understanding here is what I have thus far:

import java.util.Scanner;

    public class investmentCalculator {
        public static void main (String[] args) {

            Scanner input = new Scanner(System.in);

        //User input for initial investment
        System.out.print("Enter the number of shares: ");
        double shares = input.nextDouble();

        //User input for years invested
        System.out.print("Enter the purchase price: ");
        double purchase = input.nextDouble();

        //User input for monthly interest rate
        System.out.print("Enter the selling price: ");
        double selling = input.nextDouble();

        //Compute
        double originalCost = (shares * purchase);
        double earned = (shares * selling);
        double amountGainedOrLost = earned - originalCost;
        double percentGain = amountGainedOrLost/(originalCost/100);


        int earning = 0;
        int original = 0;


        System.out.println("Percent gain / loss: " + amountGainedOrLost + "%");
        System.out.println("Amount gain / loss: $" + percentGain);

      }
    }

And my output is this.

Enter the number of shares: 1000
Enter the purchase price: 10.00
Enter the selling price: 20.00
Percent gain / loss: 10000.0%
Amount gain / loss: $100.0

I think I have to many zero's. Any suggestion's on how to fix this? Thank you in advance.

0

your first mistake is that you've switched the percentGain and amountGainedOrLost variables in your print statements. the amountGained returs correct information, so no need to revise that.

as for percentGain: I've re-checked it (as I said, didn't really know what you needed), but try and replace your last lines by this:

double percentGain = 100*((selling-purchase)/purchase);
        System.out.println("Percent gain / loss: " + percentGain + "%");
        System.out.println("Amount gain / loss: $" + amountGainedOrLost);

since the number of stock for both purchase and selling remain the same, you can calculate the percentage by just the price.
as for the

int earning = 0;
        int original = 0;

since you don't use them, you may just as well remove these lines.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.