【发布时间】:2020-07-23 07:10:56
【问题描述】:
我正在尝试编写一个方法来计算一组数据的模式并返回它。如果没有模式或多个模式(例如:如果 4 & 2 返回的次数最多)我,希望函数返回 Double.NaN。我能够获得该模式,但如果有多个模式,我无法让我的代码返回 Double NaN。
这是我的代码!
public double mode() {
if (data == null) {
double mode;
mode = Double.NaN;
return mode; // returns no value if array is null
}
double mode = 0;
double modeCounter = 0;
for (int c = 0; c < data.length; ++c) {
int count = 0;
for (int i = 0; i < data.length; ++i) {
if (data[i] == data[i])
++count;
}
if (count > modeCounter) {
modeCounter = count;
mode = data[c];
}
}
if (!(modeCounter > 1)) {
return Double.NaN;
}
return mode;
}
【问题讨论】:
-
什么是数据?一个数组?
-
什么时候没有模式?对于像 [1,2,3] 这样的数组,模式是什么?
-
if (data[i] == data[i]) - 总是这样
标签: java arrays methods return mode