0
votes

Comment obtenir le retour de l'indice de la valeur minimale et maximale dans le tableau?

Je fais mes devoirs où je devrais obtenir un index maximum et minimum dans un tableau. Je l'ai déjà fait, mais je ne comprends pas comment faire un retour de cet indice.

package MaxMinArrayIndex.bozhko;

public class MaxMinArrayIndex {
public static void main(String[] args) {
    gettingIndex();
}

private static int gettingIndex(int[]) {

    int[] myArray = {35, 2, 64, -18, 1000, 10000};
    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;
        }
    }
    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;
        }
    }
}


2 commentaires

Vous pouvez renvoyer une liste ou ou avec deux entiers . Le premier est toujours le min. La seconde est toujours le max. Vous pouvez également utiliser une paire . Vous pouvez également créer votre propre liste comme objet similaire qui contient une valeur max et min.


Vous ne pouvez pas retourner deux variables en même temps. Vous pouvez la diviser en deux fonctions. Un pour maximum et un pour un minimum. Ou, si vous souhaitez conserver une fonction, vous pouvez créer et créer une matrice avec la taille 2 - int [] index = neuf int [2] et mettre la position 0, index pour minimum et sur la position 1, Index pour les index de retour maximum et


3 Réponses :


0
votes

Vous devez diviser votre code en deux fonctions: getminindex () code> et getMaxInex () code>.

quelque chose comme: p>

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;
}


0 commentaires

0
votes

Vous pouvez créer un nouveau tableau de longueur 2 et enregistrez l'index dans ce tableau. Ensuite, vous pouvez retour ce tableau.

Tout comme ceci: xxx

Note: Votre code ne sera pas Adapter le cas où il y a 2 nombres minimum égaux ou maximum dans la matrice.


0 commentaires

0
votes

La meilleure approche consiste à diviser vos méthodes en deux.

SniPPlet: xxx

sortie: xxx


0 commentaires