Attached Files: Polynomial.java HW3.java 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: Polynomial class holds a HashMap or TreeMap associated with a polynomial. Polynomial arithmetic must be done in the Polynomial class. You should also implement a toString() method to print out polynomials. The main method must be in the HW3 class. Polynomial.java import java.util.StringTokenizer; public class Polynomial { // use either HashMap or TreeMap to represent a polynomial //private HashMap p; //private TreeMap 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 } } ************************************************************************************************ HW3.java 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)); } }
Attached Files:
- Polynomial.java
- HW3.java
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:
- Polynomial class holds a HashMap or TreeMap associated with a polynomial. Polynomial arithmetic must be done in the Polynomial class. You should also implement a toString() method to print out polynomials.
- The main method must be in the HW3 class.
Polynomial.java
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
} }
************************************************************************************************
HW3.java
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)); } }
Trending now
This is a popular solution!
Step by step
Solved in 9 steps with 9 images