【发布时间】:2015-10-22 08:22:49
【问题描述】:
我正在做一个练习,我必须编写一个方法来返回数组中最大元素的索引。
代码是这样的:
import java.util.Scanner;
public class IndexLargestElement {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter 10 double values");
double[] list = new double [10];
for (int i = 0; i < list.length; i++)
list[i] = input.nextDouble();
int index = indexOfLargestElement(list);
System.out.println("The index of the largest element is " + index);
}
public static int indexOfLargestElement(double[] array){
double max = array[0];
int index = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
index = i;
return index;
}
}
}
现在 int index=0;和 max = 数组 [i]; Netbeans 告诉我:这个值从未使用过。为什么?我不明白我做错了什么?应该是带牙套的吧?当我尝试运行时,它给出了一个编译错误,说没有返回语句。
我们总是感谢您的帮助!在此先感谢:)
【问题讨论】:
-
括号未更正放置,您似乎错过了函数 indexOfLargestElement 中的一个。顺便说一句,我想在循环内返回一些东西在学术上是不正确的,但我再次猜想这与括号问题有关
-
其实在这里你只想
return i,然后你声明int index = 0;。如果你只想return i,为什么还需要index。 -
嘿,感谢您的回答!我不确定我是否真的明白你的意思:) 我到底在哪里忘记了括号?对不起我的菜鸟,整个街区的事情对我来说还是有点模糊。
-
我之前尝试过,只返回没有索引变量的 i。我仍然在 max=array[i]; 处得到值从未使用过的错误,所以我检查了我的教科书,在那个例子中,他们还为索引创建了一个变量,所以我想我可以尝试一下,但似乎无济于事。跨度>