【发布时间】:2015-02-28 20:21:04
【问题描述】:
一段时间以来一直在处理 Java 问题。获取对应于最大值的数组索引时遇到一些问题。我很确定我理解这样做背后的逻辑,因为我成功地检索到了包含最低值的索引。这就是我所拥有的:
public static void main(String[] args) {
double array[] = {1.12, 2.24, 3.36, 0.48, 2.00, 5.00, 12.12, 1.48, 3.12, 3.24, 6.6, 1.12};
double highestValue = array[0];
int highIndex = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] > highestValue)
highIndex = i;
}
System.out.println(highIndex);
}
但是,对于这个数组,我的代码返回的索引为 10,对应于 6.6。但是数组中的最大值是索引 6 处的 12.12。为什么我一直将 10 作为最高索引?如果我反转逻辑,该代码可以很好地检索最低索引,但我不确定我在这里做错了什么。感谢您的帮助。
【问题讨论】:
-
这似乎主要是关于代码调试......它并没有试图提出一个简洁的问题。