-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPolynomial.java
More file actions
41 lines (36 loc) · 1.03 KB
/
Polynomial.java
File metadata and controls
41 lines (36 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Polynomial{
public double[] array;
public Polynomial(double[] arrayIn) {
this.array = arrayIn;
}
public Polynomial() {
this.array = new double[]{0};
}
public Polynomial add(Polynomial p) {
int length;
if (array.length >= p.array.length) {
length = array.length;
} else {
length = p.array.length;
}
double[] newArray = new double[length];
for (int i = 0; i < array.length; i++) {
newArray[i] = array[i];
}
for (int i = 0; i < p.array.length; i++) {
newArray[i] = newArray[i] + p.array[i];
}
Polynomial answer = new Polynomial(newArray);
return answer;
}
public double evaluate(double num) {
double answer = 0;
for (int i = 0; i < array.length; i++) {
answer = answer + array[i] * Math.pow(num, (double)i);
}
return answer;
}
public boolean hasRoot(double num) {
return evaluate(num) == 0;
}
}