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.