我正在做作业,我应该在数组中获取最大和最小索引。 我已经做到了,但是我不明白如何返回该索引。
userEmail
答案 0 :(得分:0)
您应该将代码分成两个函数:getMinIndex()
和getMaxIndex()
。
类似的东西:
static int getMinIndex(int[] array) {
int min = array[0];
int indexForMin = -1;
for (int i = 0; i < array.length; i++) {
int score = array[i];
if (min > score) {
min = score;
indexForMin = i;
}
}
return indexForMin;
}
static int getMaxIndex(int[] array) {
int max = array[0];
int indexForMax = 0;
for (int i = 0; i < array.length; i++) {
int score = array[i];
if (max < score) {
max = score;
indexForMax = i;
}
}
return indexForMax;
}
答案 1 :(得分:0)
您可以创建一个长度为new array
的{{1}}并将索引保存在该数组中。然后,您可以2
那个数组。
就像这样:
return
注意::您的代码无法容纳数组中有2个相等的最小或最大数字的情况。
答案 2 :(得分:0)
最好的方法是将您的方法一分为二。
代码段:
class Main {
public static void main(String[] args) {
int[] myArray = {35, 2, 64, -18, 1000, 10000};
int maxIndex = getMaxIndex(myArray);
System.out.println("Max Index : "+ maxIndex);
int minIndex = getMinIndex(myArray);
System.out.println("Min Index : "+ minIndex);
}
private static int getMaxIndex(int[] myArray) {
int max = myArray[0];
int indexForMax = 0;
for (int i = 0; i < myArray.length; i++) {
int score = myArray[i];
if (max < score) {
max = score;
indexForMax = i;
}
}
return indexForMax;
}
private static int getMinIndex(int[] myArray) {
int min = myArray[0];
int indexForMin = 0;
for (int i = 0; i < myArray.length; i++) {
int score = myArray[i];
if (min > score) {
min = score;
indexForMin = i;
}
}
return indexForMin;
}
}
输出:
Max Index : 5
Min Index : 3