Here's the assignment:

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 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

-----------------------------------------------------------------------------

My professor said I should get started on the test class first and he gave this algorithm:

---------------------------

while (! end of file)

get the next operation

call the method that handles it

call toString to print the updated list

Although the operations are to be read from a file, get started now by having the user enter them. Input files will be covered next class. You only need to enter one of each (INSERT X Y, DELETE X Y, REVERSE, PRODUCT) to verify that you are doing this correctly. Then, you can start implementing the methods of the Polynomial class, and implementing the Term class.

---------------------------------------

This is what I have so far

import java.util.Scanner ; import javax.swing.JOptionPane; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author John */ public class PolynomialTest { public static void main(String[] args) { Polynomial Poly = new Polynomial(); String input = JOptionPane.showInputDialog("Enter coefficient and exponent" + "\nseparated by spaces."); while(input != null) { Scanner scan = new Scanner(input); int coefficient = scan.nextInt(); int exponent = scan.nextInt(); Term next = new Term(coefficient, exponent); Poly.insert(next); input = JOptionPane.showInputDialog("Enter next coefficent and exponent"); } } }

This assignment completely has me stuck. Any help or nudge in the right direction is much apreciated.