Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

After completing this assignment the student should be able to: Write programs that make decisions , Demonstrate the use of if statements in Java ,

After completing this assignment the student should be able to: Write programs that make decisions , Demonstrate the use of if statements in Java , Use relational and logical operators to compute desired values Assignment Requirements For this assignment you are given the following files: Assignment03.java (you must complete this file) Problem Description and Given Info Within the main method in the Assignment03.java file, you must design and write a program to determine whether to buy, sell, or hold shares in a stock market. Your program must prompt the user to enter the 4 input values described below. It must collect the users input and store these values in 4 different variables. It must collect the inputs in the order shown below. Your program must determine whether the user should buy, sell, or hold their shares based on the input data. It must print out an appropriate message to the user. The output must be formatted exactly like the Expected output examples shown below.

Inputs

  1. Current Shares
  2. Purchase Price
  3. Market Price
  4. Available Funds

- This is the number of shares of this stock currently held in the account - (per share) paid for current stock in the account - (per share) of this stock. This is the current market price for buying or selling this stock - the amount the client is willing to spend on a transaction

Outputs 1. Text containing the message to either buy, sell, or hold (see examples below)

Other Details Any transaction (buy or sell) costs $10. Be sure to account for this transaction fee in your profitability calculations. We cannot buy or sell if we cannot pay this $10 fee. Note that this fee can be taken out of the profit from a sell (see below).

Each time we sell, it will cost us the $10 transaction fee. Each time we buy, it will cost us the $10 transaction fee, plus the cost of the shares we are buying:

= 10 + h

The number of shares we can afford to buy would be: h = ()

In order for a purchase (buy) to be considered profitable, the current market price (per share) must be lower than the purchase price (per share) paid for current stock in the account. Additionally, the amount the client is willing to spend on a purchase must allow us to buy enough shares so that the difference in value will cover the $10 transaction fee.

In other words, if the current market price (per share) is lower than the purchase price (per share) paid for current stock

1

CSE110 Principles of Programming Assignment 03::100 pts in the account, then there is a potential per share value that is equal to the price difference:

h = h

Assuming that we have the available funds to buy enough shares (and pay the $10 transaction fee), we should buy if the total value of the shares is greater than the $10 transaction fee. The total value of the shares is the per-share value times the number of shares we can afford to buy:

= h h

In order for a sale (sell) to be considered profitable, the current market price (per share) must be higher than the purchase price (per share) paid for current stock in the account. Additionally, the value gained by selling the shares must also cover the $10 transaction fee.

In other words, if the current market price (per share) is higher than the purchase price (per share) paid for current stock in the account, then there is a potential per share value that is equal to the price difference:

h = h

In this case, we should see if we have enough shares of this stock so that the total value of the shares is greater than the $10 transaction fee. The total value of the shares is the per-share value times the number of shares we currently have:

= h h

If neither a buy nor a sell would be profitable, then we should simply hold the existing shares.

Test Data

Test #1

Given Inputs

Current Shares : 10 Purchase Price : 100 Market Price :1 Available Funds : 10 Expected Output

Hold shares

Rationale: Even though the current market price is very low (compared to the purchase price), after paying the $10 transaction fee, we would not have any funds left to buy shares; so we can only hold.

Test #2

Given Inputs

Current Shares : 20 Purchase Price : 2 Market Price :1 Available Funds : 21 Expected Output

Buy 11 shares

Rationale: After paying the $10 transaction fee, there are enough funds remaining to buy 11 shares. At a purchase price vs. market price difference of $1 per share, our 11 shares represent a value gain of $11 dollars, which is $1 more than the $10 transaction fee - so we come out $1 ahead.

Test #3

Given Inputs

Current Shares : 15 Purchase Price : 12 Market Price :1 Available Funds : 12 Expected Output

Buy 2 shares

Rationale: After paying the $10 transaction fee, there are enough funds remaining to buy 2 shares. At a purchase price vs. market price difference of $11 per share, our 2 shares represent a value gain of $22 dollars, which is $12 more than the $10 transaction fee - so we come out $12 ahead.

Test #4

Given Inputs

Current Shares : 1 Purchase Price : 1 Market Price :11 Available Funds : 0 Expected Output

Hold shares

Rationale: Selling our 1 share for $11 will leave us with just $1 after we pay the $10 transaction fee. That is the same as what we paid for it, and we won't make any profit - so we should hold.

Test #5

Given Inputs

Current Shares : 10 Purchase Price : 1 Market Price :3 Available Funds : 30 Expected Output

Sell 10 shares

Rationale: With a market price vs. purchase price vs. difference of $2 per share, we stand to make $20 from the sale of our 10 shares. This is $10 more than the price of the transaction fee, so we will come out $10 ahead - therefore we should sell all 10 shares.

Test #6

Given Inputs

Current Shares : 1 Purchase Price : 1 Market Price :12 Available Funds : 0 Expected Output

Sell 1 shares

Rationale: Our 1 share is worth $11 more than we paid for it at the current market price. The $11 dollars obtained by selling that share now will still leave us with a profit of $1 after paying the $10 transaction fee. Profit is profit, so we should sell.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions