Ho il seguente codice Java.Valore di stampa dell'indice di array valore errato
import java.util.Arrays;
public class Cook {
public static void main(String[] args) {
int num[] = { 3, 1, 5, 2, 4 };
getMaxValue(num);
}
public static void getMaxValue(int[] num) {
int maxValue = num[0];
int getMaxIndex = 0;
for (int i = 1; i < num.length; i++) {
if (num[i] > maxValue) {
maxValue = num[i];
}
}
getMaxIndex = Arrays.asList(num).indexOf(maxValue);
System.out.println(getMaxIndex + " and " +maxValue);
}
}
Nel codice di cui sopra che sto cercando di recuperare il valore massimo nella matrice ed anche il suo indice, ma qui l'output che sto ricevendo è
-1 and 5
viene restituito il valore massimo bene, ma non sono sicuro di cosa c'è che non va nell'indice. Questo dovrebbe effettivamente stampare 2
, ma sta stampando -1
, per favore fatemi sapere dove sto andando male e come posso risolvere questo.
Thankd
Hai davvero bisogno di matrici ... indexOf in questo frammento di codice? –
Se si è preso il tempo di fare un po 'di debugging e ispezionato quello che fa ciascuna delle 2 (!) Funzioni che usi, lo sapresti. – njzk2