The first part of the program reads an arithmetic operation when the user keys in one of the following forms: a + b; a - b; a * b; a/b where a and b can be either positive or negative integers. There...


The first part of the program reads an arithmetic operation when the user keys in one of the following forms:


a + b; a - b; a * b; a/b


where a and b can be either positive or negative integers. There may be spaces or no space between a and a valid arithmetic operation and also similarly between the valid arithmetic operation and b. Some valid examples are given below:


a + b, a + -b, a+ -b, a +-b, a+-b


-a + b, -a + -b, -a+ -b, -a +-b, -a+-b


a - b, a - -b, a- -b, a --b, a--b


-a - b, -a - -b, -a- -b, -a --b, -a--b


a * b, a * -b, a* -b, a *-b, a*-b


-a * b, -a * -b, -a* -b, -a *-b, -a*-b


a / b, a / -b, a/ -b, a /-b, a/-b


-a / b, -a / -b, -a/ -b, -a /-b, -a/-b


Your program should detect any non valid arithmetic operations by informing the user “it’s an invalid arithmetic operator” and prompting the user to retry. A maximum of three triesare given to the user and the program terminateswhen the user exceedsthe number of tries.


In addition to the main class create two classes in this program: addSubtract and multiplyDivide.


In the
main class,
the program reads the user entry and first determines if the entry is valid. Next, it determines the integers a and b and also the sign of the operation. Based on the sign, they are then passed on to one of the classes.


In both addSubtract
and
multiplyDivide
classes the arithmetic operations are carried out and also the result of the operation is printed.


In the multiplyDivide class, the output is in a Double format.


An important function in the developed program solution is testing. Your program should test for all possible valid data entries and invalid ones too. Some of the valid ones are given below



Replace a and b with any values not exceeding 1000.


a + b, a + -b, a+ -b, a +-b, a+-b


-a + b, -a + -b, -a+ -b, -a +-b, -a+-b


a - b, a - -b, a- -b, a --b, a--b


-a - b, -a - -b, -a- -b, -a --b, -a--b


a * b, a * -b, a* -b, a *-b, a*-b


-a * b, -a * -b, -a* -b, -a *-b, -a*-b


a / b, a / -b, a/ -b, a /-b, a/-b


-a / b, -a / -b, -a/ -b, -a /-b, -a/-b


In submitting your solution show proof, your program worked for all valid and invalid cases.


The grading will check for the correctness of the program (50 Marks) and testing with proof (15 marks).

May 19, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here