- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
此帖子已在2天前编辑并提交审核,无法重新打开帖子:
原始关闭原因未解决
Improve this question
我必须写一个方法来找到数组中的模式,所以我创建了一个嵌套的for循环来遍历数组,但是我遇到了绑定异常。
这是我得到的:线程"main"中出现异常。
以下示例的预期输出为Mode is 5
。
// Test data
int[] a4 = {1,5,6,5};
System.out.println("Mode is " + ArrayOfSunshine.mode(a4));
public static int mode(int[] ints) {
int j = 0;
for (int i = 0; i < ints.length; i++) {
for (int k = 0 ; k < ints.length; k--) {
if (ints[i] == ints[k]) {
j = i;
}
return j;
}
}
return 0;
}
1条答案
按热度按时间qmelpv7a1#
k
在内部循环中变为负值,因为您正在 * 递减 *,并且您的测试仅防止k
* 超过 *ints.length
。我建议把它分解一下,让我们计算一个数组中的值。
现在您只需要确定哪个值具有最高计数。