java - 编程代码的数学符号

标签 java mathematical-notation

我在将以下两个用数学符号编写的函数转录为 Java 代码时遇到了困难(这两个函数的输入都是包含 D 元素的数组):

enter image description here

有人可以看一下下面的代码并告诉我它是否有问题吗?

public double firstFunction(double[] arrayOfElements) {

double sum = 0;
double sumTwo = 0;

for(int i = 0; i < arrayOfElements.length; i++) {
    for(int j = 0; j < i; j++){
        sumTwo = sumTwo + arrayOfElements[j];
    }
    sum = sum + Math.pow(sumTwo, 2);
    }
    return sum;
}

public double secondFunction(double[] arrayOfElements) {
    double maximum = Math.abs(arrayOfElements[0]);
    for (int i = 0; i < arrayOfElements.length; i++) {
        if (Math.abs(arrayOfElements[i]) > maximum) {
            maximum = Math.abs(arrayOfElements[i]); 
        }
    }
    return maximum;
}

最佳答案

第一个方法应在每次迭代中将 sumTwo 重置为零。目前,它累积从外循环的一次执行到下一次执行的值。否则就可以了。

或者,更有效的是,您可能会注意到一次迭代和下一次迭代的 sumTwo 之间的差异是新的数组元素。这意味着您不需要内部循环。

for(int i = 0; i < arrayOfElements.length; i++) {
    sumTwo = sumTwo + arrayOfElements[j];
    sum = sum + Math.pow(sumTwo, 2);
}

第二个方法应该返回具有最大绝对值的元素的索引,而不是元素本身。请注意 max 中的子索引 i

关于java - 编程代码的数学符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16861722/

相关文章:

java - 如何使用 OpenCV 将图像转换为黑白图像并去除 android 中的阴影

java - 通过替代方法减少 JSF 组件树/状态。可以吗?

java - 将java应用程序转换为jsp/servlet

java - 防止通过 Java Servlet Web 应用程序中的 URL 访问文件

multidimensional-array - 二维数组的x,y和row,col属性是倒着的吗?

javascript - "simple math syntax"到 MathML 转换器

java - switch语句又如何表示语句 block ?