我正在进行多项式操作& Java中的评估程序。到目前为止,我已经实现了加法,减法和评估(Horner's)方法,但是,我很难理解为什么我的暴力评估方法不起作用,因为我得到一个indexOutOfBoundsException:索引:2,大小:2。我有一个术语class和多项式类。术语构造函数有两个参数,系数和指数,而多项式类有两个构造函数,一个带有name参数,第二个带一个name参数和一个字符串数组: -
public Term(int coefficient, int exponent) {
this.coefficient = coefficient;
this.exponent = exponent;
}
public Polynomial(String name) {
this.name = name;
polyTerms = new ArrayList<Term>();
}
public Polynomial(String name, String[] terms) {
this.name = name;
polyTerms = new ArrayList<Term>();
for (int j = 0; j <terms.length; j = j + 2) {
int expo = Integer.parseInt(terms[j]);
int coeff = Integer.parseInt(terms[j+1]);
insertPolyTerms(coeff, expo);
}
}
这是我的蛮力方法: -
public double evaluatePolyBruteForce (double x, Polynomial polynomial) {
double result = 0.0;
for (int i = 0; i<= polyTerms.size(); i++) {
result += polyTerms.get(i).getCoefficient() * (double)Math.pow(x,polyTerms.get(i).getExponent());
}
return result;
}
现在有点晚了,我觉得这个问题让我眼花缭乱,我看不到它,我很感激你解决这个问题的任何帮助。
答案 0 :(得分:1)
for (int i = 0; i<= polyTerms.size(); i++) {
更改
for (int i = 0; i< polyTerms.size(); i++) {
你有&lt; =这将包括数组的2,第三个pos,这是超出界限