Fill This Form To Receive Instant Help
Homework answers / question archive / Given two polynomials in form of strings
Given two polynomials in form of strings. Write a Java program that adding, subtracting, and multiplying two polynomials using maps.
Input:
The input will be two polynomials in the following form of strings, for example,
“(-4.5)X^1 + (-2.5)X^0 + 1X^3”
“1X^2 + 1X^0”
Output:
Polynomial p: X^3 -4.5X -2.5
Polynomial q: X^2 + 1.0
p+q: X^3 + X^2 -4.5X -1.5
p-q: X^3 -X^2 -4.5X -3.5
p*q: X^5 -3.5X^3 -2.5X^2 -4.5X -2.5
Requirements:
Using a Java HashMap or TreeMap to represent a polynomial. Each term will be saved as a key-value entry in the map. The size of the map will be the number of terms in the given polynomial or less.
After you parse the input strings, you should insert the terms into your HashMap or TreeMap immediately. To parse a string, you may refer to the Java StringTokenizer class or String class.
You may add more test cases in the main method but remember to change the main method back to the original state before you submit the project.
Classes required for the project:
import java.util.StringTokenizer;
public class Polynomial {
// use either HashMap or TreeMap to represent a polynomial
//private HashMap<Integer, Double> p;
//private TreeMap<Integer, Double> p;
public Polynomial(String st) {
//add code
}
//add auxiliary methods and/or constructors
public Polynomial add(Polynomial q) {
//add code
}
public Polynomial subtract(Polynomial q) {
//add code
}
public Polynomial multiply(Polynomial q) {
//add code
}
public String toString() {
//add code
}
}
public class HW3 {
/*
* Do not modify the main method.
* You may add more test cases but change the main method back to the original state before you submit the project.
*/
public static void main(String[] args) {
String s = "(-4.5)X^1+(-2.5)X^0+1X^3";
String t = "1X^2+1X^0";
Polynomial p = new Polynomial(s);
Polynomial q = new Polynomial(t);
System.out.println("Polynomial p: " + p);
System.out.println("Polynomial q: " + q);
System.out.println("p+q: " + p.add(q));
System.out.println("p-q: " + p.subtract(q));
System.out.println("p*q: " + p.multiply(q));
System.out.println();
s = "1X^0+(-1)X^1+2X^2+(-2)X^0";
t = "(-1)X^0+1X^5";
p = new Polynomial(s);
q = new Polynomial(t);
System.out.println("Polynomial p: " + p);
System.out.println("Polynomial q: " + q);
System.out.println("p+q: " + p.add(q));
System.out.println("p-q: " + p.subtract(q));
System.out.println("p*q: " + p.multiply(q));
}
}