java.lang.AssertionError:预期结果不正确[1019.1690418083019],但发现[755.0]

时间:2019-01-28 05:52:21

标签: java

我编写了一段代码来检查数组中的最大值,并在检查所有值之后返回最大值。运行代码时,我总是收到错误消息。有输入吗?

// Initialize maximum to the first value
double maximum = measurements[0];
// Now go through the rest of the array
for (double i = 0; i < measurements.length; i++) {
    if (i > maximum) {
        maximum = i;
    }
}
// At each step, compare the value to our current maximum
// If it's greater, replace maximum
System.out.println(maximum);

java.lang.AssertionError:预期结果不正确[1019.1690418083019],但发现为[755.0]

2 个答案:

答案 0 :(得分:1)

您正在将maximum的值设置为您的迭代器。你应该做

  

最大值=测量值[i]

说到迭代器,您为什么要为迭代器使用double?我建议您使用int。

编辑:我还发现您的if语句有问题。

  

如果(i>最大值){

这是将您的迭代器值与当前最大值进行比较。你应该做类似的事情

  

测量[i]>最大值

要检查数组中的实际值。

答案 1 :(得分:1)

请更改

if (i > maximum) {
        maximum = i;
    }

if (measurements[i] > maximum) {
        maximum = measurements[i];
    }

实际上,问题在于您正在将imaximum而不是measurements[i]进行比较