给定一个多项式,例如,5x^4 - 1x^2 +2x^2 -3 +5x
我创建了以下三个数组,其索引与多项式中每个“项”所具有的变量,度和系数相匹配。
variableArray = [x, , x, x, x]
degreeArray = [1, 1, 2, 2, 4] //sorted on
coefficentArray=[5, -3, 2, -1, 5]
我试图编写代码,将所有具有相同度数和相同变量的“项目”相加,并返回新多项式的字符串,所以例如我在这里寻找的是{{1 }}。到目前为止,这是我的功能......
5x^4 + 1x^2 + 5x -3
电话......
public static String putItTogether(int[] array,int[] array1, String[] array2, int count)
{
int j = count; //count is number of items in arrays
StringBuilder builder = new StringBuilder();
for (int i=count; i<=0 ; i--) {
int answer = 0;
while (array[j] == array[j-1]) { //array = degrees //array1 = coefficients // array2 = variable
if (array2[j] == array2[j-1]) { //variable
answer = array1[j] + array1[j-1];//coeff
}
j--;
}
String coefficientString = Integer.toString(answer);
String degreeString = Integer.toString(count);
builder.append(coefficientString);
if (array2[i].equals("x")) {
builder.append("x");
}
if (array[j] != 1) {
builder.append("^");
builder.append(degreeString);
}
}
return builder.toString();
}
无论出于何种原因,它都不会打印出任何东西。如果你能查看我的代码,看看我哪里出错了,我真的很感激。此外,任何有关我要问的问题请不要犹豫!