Java 如何使用for循环对列表中的不同项进行加法和乘法,以得到多项式的最终乘积
我创建了一个空的polynomal arrayList类。我编写了其他方法,可以在空列表中填入术语(3x6、5x2等)。现在我必须得到列表中所有术语的乘积。我知道我必须乘以系数,再加上指数。所以我已经在代码中把它们分开了。但是现在我被卡住了,我想不起如何保留已经乘以的项,并保存它们以乘以下一个项。然后加上指数也一样。不完全确定我需要产品变量。。。而且它不一定是for循环,但我认为最好是,也许一段时间?非常感谢您的帮助,谢谢Java 如何使用for循环对列表中的不同项进行加法和乘法,以得到多项式的最终乘积,java,Java,我创建了一个空的polynomal arrayList类。我编写了其他方法,可以在空列表中填入术语(3x6、5x2等)。现在我必须得到列表中所有术语的乘积。我知道我必须乘以系数,再加上指数。所以我已经在代码中把它们分开了。但是现在我被卡住了,我想不起如何保留已经乘以的项,并保存它们以乘以下一个项。然后加上指数也一样。不完全确定我需要产品变量。。。而且它不一定是for循环,但我认为最好是,也许一段时间?非常感谢您的帮助,谢谢 /** * Returns the product of all the
/**
* Returns the product of all the terms of a Polynomial, as a String E.g.
* for the polynomial 3x^2 + 7x^3 + 2x^5, will return 42x^10
*
* @return the polynomial product, as a String
*/
public String product() {
Term product;
for (int i = 0; i < termSequence.size(); i++) {
int coeffMultiply = (termSequence.get(i)).getCoefficient();
int expoMultiply = (termSequence.get(i)).getExponent();
product = new Term(coeffMultiply, expoMultiply);
}
return ;
/**
*以字符串形式返回多项式所有项的乘积,例如。
*对于多项式3x^2+7x^3+2x^5,将返回42x^10
*
*@以字符串形式返回多项式乘积
*/
公共字符串乘积(){
术语产品;
对于(int i=0;i
}对于简单的
双
值,这是一个有效的解决方案:
public class PolynomialFunction implements Function {
private final double[] coefficients;
public PolynomialFunction(double... coefficients) {
this.coefficients = coefficients;
}
@Override
public double value(double x) {
int len = coefficients.length;
double xPowI = 1;
double val = 0;
for (int i = 0; i < len; i++) {
val += coefficients[len - 1 - i] * xPowI;
xPowI *= x;
}
return val;
}
}
公共类多项式函数实现函数{
私人最终双[]系数;
公共多项式函数(双…系数){
这个系数=系数;
}
@凌驾
公共双值(双x){
int len=系数。长度;
双xPowI=1;
双val=0;
对于(int i=0;i
您应该能够根据需要对其进行重构。如果我没有完全理解你的问题,请发表评论