Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用for循环对列表中的不同项进行加法和乘法,以得到多项式的最终乘积_Java - Fatal编程技术网

Java 如何使用for循环对列表中的不同项进行加法和乘法,以得到多项式的最终乘积

Java 如何使用for循环对列表中的不同项进行加法和乘法,以得到多项式的最终乘积,java,Java,我创建了一个空的polynomal arrayList类。我编写了其他方法,可以在空列表中填入术语(3x6、5x2等)。现在我必须得到列表中所有术语的乘积。我知道我必须乘以系数,再加上指数。所以我已经在代码中把它们分开了。但是现在我被卡住了,我想不起如何保留已经乘以的项,并保存它们以乘以下一个项。然后加上指数也一样。不完全确定我需要产品变量。。。而且它不一定是for循环,但我认为最好是,也许一段时间?非常感谢您的帮助,谢谢 /** * Returns the product of all the

我创建了一个空的polynomal arrayList类。我编写了其他方法,可以在空列表中填入术语(3x6、5x2等)。现在我必须得到列表中所有术语的乘积。我知道我必须乘以系数,再加上指数。所以我已经在代码中把它们分开了。但是现在我被卡住了,我想不起如何保留已经乘以的项,并保存它们以乘以下一个项。然后加上指数也一样。不完全确定我需要产品变量。。。而且它不一定是for循环,但我认为最好是,也许一段时间?非常感谢您的帮助,谢谢

/**
* 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
您应该能够根据需要对其进行重构。
如果我没有完全理解你的问题,请发表评论