Create a class to represent a term in an algebraic


Programming Assignment

"The ArrayList Class"

I. The Term Class

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 Term class will have a constructor that creates a Term object with a coefficient and exponent passed as parameters, accessor methods that return the coefficient and the exponent. Your class will also have a toString() method that returns a Term object as a String, formatted as shown in these examples:

Coefficient         Exponent      returns

     5                 3          5x^3

     8                 1          8x

     4                 0          4

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

Hint: for each Term in the Polynomial, call the toString() method of the Term class and concatenate       

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

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

F Each operation read must be "echo printed" to the screen

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

F 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. You may 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. No credit will be given for merely printing the terms in reverse order.

(Hint: You may want to use a temporary ArrayList to create the reversed list)

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)

Attachment:- operations.txt

Attachment:- Polynomial.java

Solution Preview :

Prepared by a verified Expert
Basic Computer Science: Create a class to represent a term in an algebraic
Reference No:- TGS01381547

Now Priced at $50 (50% Discount)

Recommended (95%)

Rated (4.7/5)