Java - Polynomial Solution

Create a class to represent a term in an algebraic expression. As defined here, a term consists of an integer coefficient and a nonnegative integer exponent. E.g.

• in the term 4x2, the coefficient is 4 and the exponent 2

• in -6x8, the coefficient is -6 and the exponent 8

Your class will have a constructor that creates a Term object with a coefficient and exponent passed as parameters, and accessor methods that return the coefficient and the exponent

II. The Polynomial Class

Now create a class to represent a polynomial. As defined here, a polynomial is a sequence of terms. E.g.

1. 3x2 + 4x4 + x6

2. 2 + 5x2 + 6x3 + 2x7

3. 4x10

The terms of polynomial 1 are (3,2), (4,4) and (1,6). The terms of polynomial 2 are (2,0), (5,2), (6,3) and (2,7). Polynomial 3 has only one term (4,10)

To receive credit for this assignment, your class must use a generic “ArrayList of Term” to store the terms of a Polynomial object

Your class will have a constructor that creates an empty list and additional methods to do each of the following:

1. insert a new term in its proper place in a polynomial (see “Additional Specifications,” below)

2. return all the terms of a polynomial as a single line string, as shown here:

3x^2 + 4x^4 + x^6

3. delete a term from a polynomial (see “Additional Specifications,” below)

4. compute and return the product of all the terms of a polynomial

5. reverse the order of the terms in a polynomial (see “Additional Specifications,” below)

III. The Test Class

The main method of your test class will create a Polynomial object and then read and process a series of operations until end of file.

The operations are:

1. INSERT X Y

Insert a new term with coefficient X and exponent Y into its proper place in the polynomial

2. DELETE X Y

Remove the term with coefficient X and exponent Y from the polynomial

3. REVERSE

Reverse the order of the terms of the polynomial

4. PRODUCT

Compute and return the product of all the terms

Each operation is to be carried out by calling a method of the Polynomial class

Each operation read must be “echo printed” to the screen

After each operation, print the updated polynomial by calling the toString() method

For the PRODUCT operation, print the string returned

IV. Additional Specifications

1. All instance variables must be private

2. The skeleton of the Polynomial class you are to use is online. No credit will be given if the method declarations are changed in any way

3. The operations are to be read from a data file which I will provide

4. Assume correct input

5. Also assume that no insertions will be made into a reversed polynomial. (But you might want to think about how this could be accomplished)

6. Regarding the delete() method: if the specified term does not occur in the polynomial then print an appropriate message

7. Regarding the reverse() method: you must write your own algorithm to reverse the order of the elements of an ArrayList. No credit will be given for calling the reverse method of Java’s Collections class or any other method.

(Hint: You may want to use a temporary ArrayList to create the reversed list, although this is not necessary)

8. Regarding the insert() method: The terms of a polynomial are to be inserted in ascending order by exponent. There will never be a need to “sort” the list. Multiple terms with the same exponent may appear in any order, but will appear after all terms with a lesser exponent and before all terms with a greater exponent

An algorithm to insert a term in its proper place in an ordered list will be discussed in class

9. For maximum credit, make sure your classes adhere to all the style and documentation standards presented in Unit 6 and discussed in class. (Note that the Javadoc comments for the Polynomial class have already been done)

Via CramShark