如果需要返回多個指標你需要的東西比INT更多。根據您以後計劃如何處理數據,我建議或者返回數組或字符串,然後將該值傳遞給另一個處理方法。
我建議將問題分解爲2個部分,首先查找並計算最大值的實例數,然後抓取最大值的索引。如果你想返回一個數組中的索引,你需要遍歷它兩次(這是使用標準數組,而不是ArrayLists,它是可擴展的)。如果你想把索引作爲字符串返回,你只需要做一次。
public static int[] methodname3(int d[]) {
int largest = d[0] - 1; // this makes sure that negative values are checked
int instances = 0;
int[] indices = null;
for (int i = 0; i < d.length; i++){
if (d[i] > largest){
largest = d[i];
instances = 1;
}
else if(d[i] == largest){
instances++;
}
}
indices = new int[instances];
for(int i = 0, j = 0; i < d.length; i++){
if(d[i] == largest){
indices[j] = i;
j++;
}
}
return indices;
}
如果你想返回指數作爲一個字符串,你可以做整個事情在一個通這樣的:
public static String methodname3(int d[]){
int largest = d[0] - 1;
String indices = "";
for (int i = 0; i < d.length; i++){
if (d[i] > largest){
largest = d[i];
indices = i; // This resets the String each time a larger value is found
}
else if(d[i] == largest){
indices = indices + " " + i;
// This results in a space delimited String of indices
}
}
return indices;
}
哪種語言是這樣嗎? –
如果這些數字都是負數,那麼可能從Integer.MIN_VALUE開始最大...... – pjp
'最大值的指數'有多少最大值可以在那裏出現,除非它們全都相同? – Prateek