Question: Polynomial Addition and Subtraction I got more than 10 wrong answer for this question This is Java #### Imp...#### Polynomials are linked lists in one

Polynomial Addition and Subtraction

I got more than 10 wrong answer for this question

This is Java

#### Imp...#### Polynomials are linked lists in one static array

the implementation one array is used to store multiple polynomial instances and the free store. This array must be declared static so that it is available to all polynomial instances and initialized once by the first instantiation of a polynomial.

There are two challenges in the first implementation. The first is converting the polynomial string given to the constructor into the terms of the polynomial. The second is taking the internal representation of the polynomial and converting it back to a string in the toString() method. The other three implementations will modify slightly the code from the first implementation for their constructor and toString() methods. Your code must use the Demo class that I will provide. Your code must use the Demo class that I will provide. Below is the syntax for working with the interface: public PolynomialInterface add(PolynomialInterface other) { ArrayWithExponentAsIndex answer = new ArrayWithExponentAsIndex (); ArrayWithExponentAsIndex parameter = (ArrayWithExponentAsIndex)other;

Here is code that can guide you in the implementation. It creates an array of nodes and connects them into the freeStore. public class LinkedListInArrayPolynomial implements PolynomialInterface { private static final int NUL = -1; private static int free; //*** Reference to the first node on the free list private static LLInArrayPolyNode[] nodeArray= new LLInArrayPolyNode[1000]; private static boolean nodeArrayIsInitialized = false; private String polyString; private int polynomial = NUL; //*** Reference to the first node on the list public LinkedListInArrayPolynomial() { if(!nodeArrayIsInitialized) initializeStaticArray(); } public LinkedListInArrayPolynomial(String polyString) { if(!nodeArrayIsInitialized) initializeStaticArray(); this.polyString = polyString; storePolynomial(); }

private void initializeStaticArray() { // fill array with nodes for(int x = 0; x < nodeArray.length; x++) { nodeArray[x] = new LLInArrayPolyNode(); } for (int index = 1; index < nodeArray.length; index++) { nodeArray[index - 1].setNext(index); } nodeArray[ nodeArray.length - 1].setNext(NUL); free = 0; nodeArrayIsInitialized = true; } protected int getNode() //*** Returns the index of the next available node from the freeStore //*** and updates the freeStore index. { int hold; hold = free; free = nodes[free].next; return hold; }

Write a program that adds and subtracts two polynomials. Use the following interface:

public interface PolynomialInterface

{

PolynomialInterface add(PolynomialInterface other);

// Effect: Adds value to owner of addPolynomial method.

// Postcondition: Return value = this + value.

PolynomialInterface subtract(PolynomialInterface other);

// Effect: Subtracts value from owner of addPolynomial method.

// Postcondition: Return value = this - value. void readPolynomial();

// Postcondition: polynomial read.

String toString();

// Postcondition: polynomial converted to string.

}

Your code must use the Demo provided below.

public class PlynomialDemo { public static void main(String[] args) { // example strings constructor must handle // String s = "44"; // String s = "44x"; // String s = "4x^4+3x^3-3"; // String s = "4x^3-3x^11"; // String s = "44x^6-3x^10+4x^4"; // String s = "25x^5-3x^13+4x^12-78"; // String s ="34x^15-44x^14-3x^12+4x^31-78"; // String s1 = "44"; // String s2 = "44x-78"; // String s1 = "4x^4+3x^3-3"; // String s2 = "4x^6-3x^12"; String s1 = "4x^14-3x^12+4x^4+78"; String s2 = "-4x^4-3x^12+4x^17-78"; // String s1 = "4x^4+3x^11+4x^10"; // String s2 = "5x^14-3x^12+4x^19-78"; // String s1 = "4x^5+4x^4-3x^12-4x^41-78"; // String s2 = "-4x^4+3x^12+4x^41+78"; 
PolynomialInterface sortA1 = new ArraySortedPolynomial(s1); PolynomialInterface sortA2 = new ArraySortedPolynomial(s2); PolynomialInterface sortA3; sortA3 = sortA1.add(sortA2); System.out.println("Second test is sorted array of terms."); // System.out.println("sortA1 string is " + s1); System.out.println("sortA1 = " + sortA1); // System.out.println("sortA2 string is " + s2); System.out.println("sortA2 = " + sortA2); System.out.println("sortA3 = sortA1.add(sortA2) " + sortA3); sortA3 = sortA1.subtract(sortA2); // System.out.println("sortA1 string is " + s1); //System.out.println("sortA1 = " + sortA1); // System.out.println("sortA2 string is " + s2); //System.out.println("sortA2 = " + sortA2); System.out.println("sortA3 = sortA1.subtract(sortA2) " + sortA3); System.out.println(); 
 } } 

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!