aboutsummaryrefslogtreecommitdiff
path: root/Week7/src/polynomial/Polynomial.java
diff options
context:
space:
mode:
Diffstat (limited to 'Week7/src/polynomial/Polynomial.java')
-rw-r--r--Week7/src/polynomial/Polynomial.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/Week7/src/polynomial/Polynomial.java b/Week7/src/polynomial/Polynomial.java
index f7b1194..f7f9860 100644
--- a/Week7/src/polynomial/Polynomial.java
+++ b/Week7/src/polynomial/Polynomial.java
@@ -116,7 +116,7 @@ public class Polynomial {
return;
}
}
- terms.add(t);
+ terms.add(new Term(t));
}
/**
@@ -124,8 +124,9 @@ public class Polynomial {
* @param p the polynomial to subtract
*/
public void minus(Polynomial p) {
- p.times(new Polynomial("-1 0"));
- plus(p);
+ Polynomial temp = new Polynomial(p);
+ temp.times(new Polynomial("-1 0"));
+ plus(temp);
}
/**
@@ -136,7 +137,7 @@ public class Polynomial {
Polynomial result = new Polynomial();
for (Term that_t : p.terms)
for (Term this_t : terms)
- result.plus(new Polynomial((that_t.getCoef() * this_t.getCoef()) + " " + (that_t.getExp() + this_t.getExp())));
+ result.plus(new Term(that_t.getCoef() * this_t.getCoef(), that_t.getExp() + this_t.getExp()));
terms = result.terms;
}
@@ -153,7 +154,7 @@ public class Polynomial {
if (other_poly == null || other_poly.getClass() != getClass())
return false;
- Polynomial that = (Polynomial) other_poly;
+ Polynomial that = new Polynomial((Polynomial) other_poly); // We need to copy because later we'll remove elements
if (terms.size() != that.terms.size())
return false;
for (Term this_t : terms) {