Design and implement in a program system written in Java for performing operations on polynomials of one variable.
The interactive system must be capable to keep up to 15 polynomials at a time (it may be able to keep more). All of them should be polynomials of one variable x with integer coefficients. The system must be capable to
read a polynomial from the standard input
compute the sum of two polynomials
compute the difference of two polynomials
compute the product of two polynomials
write a polynomial to a file
read a polynomial from a file created previously by the same system
print a polynomial on the screen.
1. When a session with the system is started, the system's memory is empty, i.e. it doesn't contain any polynomials. The above possibilities must be offered to the user by a menu, including the possibility to quit the system.
2. Each polynomial is to be denoted by an identifier being a lower-case letter of the Latin alphabet chosen by the user.
3. Each polynomial is to be represented by a linked list. Each node of the list should contain the coefficient and exponent of one term of the polynomial. Just the terms with nonzero coefficients are to be represented in nodes. The terms are to be stored in the decreasing order of the exponents. No other (even temporary) representation is allowed (no array representation of a polynomial is allowed), with the exception of the representation inside an external file, where the representation is optional.
Example: The polynomial x27+36x4-3 is to be represented by a 3-node list containing the pairs (in this order) (1,27), (36,4), (-1,0).
4. The maximal degree of a polynomial is 30, the maximal absolute value of a coefficient is 1000.
5. The name of the file for reading/writing a polynomial is to be provided by the user when the corresponding menu option is chosen. One polynomial is to be stored in one file.
6. A polynomial is to be printed on the screen in the usual way in decreasing order of exponents, e.g., a(x) = x^27+36x^4-1 (do not print exponents 1 and 0 and coefficients -1, 0, 1, just the absolute term 1 or -1 may be printed, the zero polynomial should be printed as 0).
7. When entering a polynomial from the standard input, the system shall first ask for the polynomial identifier, and then keep asking for terms of the polynomial as pairs (exponent, coefficient), in any order. The user may enter several terms with the same exponent, the one entered as the last will be valid. A zero polynomial may be entered, as well. The end of input should be signalized by entering a negative exponent.
8. When adding, subtracting or multiplying two polynomials, the system shall ask for the identifiers of the two arguments and the identifier of the result. The result will be stored either as a new polynomial in the system, or overwrite an existing polynomial with the given name.
I hope that i got the answer as soon as possible,,