Question: Write a class Polynomial that stores a polynomial such as p(x) = 5x10 + 9x7 - x - 10 as a linked list of terms.

Write a class Polynomial that stores a polynomial such as

p(x) = 5x10 + 9x7 - x - 10

as a linked list of terms. A term (additional object class) contains the coefficient and the power of x. For example, you would store p(x) as

(5,10), (9,7), (-1,1), (-10,0)

Supply methods to add, multiply, and print polynomials (i.e., return polynomial as a String). Supply a constructor that makes a polynomial from a single term.

For example, the polynomial p can be constructed as

Polynomial p = new Polynomial(new Term(-10, 0)); p.add(new Polynomial(new Term(-1, 1))); p.add(new Polynomial(new Term(9, 7))); p.add(new Polynomial(new Term(5, 10)));

Then, to compute p(x) p(x):

Polynomial q = p.multiply(p); System.out.println(q.toString());

Running this code should produce the output:

25x20 + 90x17 + 81x14 - 10x11 - 100x10 - 18x8 - 180x7 + x2 + 20x + 100

Add a Polynomial constructor that accepts a polynomial represented as a String. For example, instead of having to use the code shown above, the polynomial p could now be constructed as:

Polynomial p = new Polynomial("5x10 + 9x7 - x - 10");

You may want to consider adding a Term constructor that creates a Term from a String like "5x10".

To compute p(x) p(x), the code is the same as above, and produces the same output. Here is a sample run (user input in color):

Enter a polynomial: 5x10 + 9x7 - x - 10 25x20 + 90x17 + 81x14 - 10x11 - 100x10 - 18x8 - 180x7 + x2 + 20x1 + 100

So now, you can even build a polynomial calculator!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!