Comment quitter une boucle for si la condition interne de la boucle if est remplie

killuabusher

J'essaie de créer une méthode qui vous permet de choisir quel index dans un tableau de résultats de test. Il vérifiera quel est le score et retournera une note pour ce score. Dans ma méthode getGrade, quel que soit le score, il renvoie "NG".

private double[] scores = new double[3];
private static int[]boundaryVals={80,72,64,60,56,52,48,40,35,30,1,0};
    private static String[]grades={"A1","A2","B1","B2","B3","C1","C2","C3","D1","D2","F","NG"};

public String getGrade(int i) {
        String grade = "";
        for(int x=0;x<boundaryVals.length;x++) {
            if(boundaryVals[x] <= i) {
                grade = grades[x];
                
            }
        }
        return grade;
    }
user14387228

Modifiez simplement la condition de sortie de la boucle pour qu'elle se termine lorsqu'une note a été attribuée.

public String getGrade(int i) {
    String grade = "";
    for(int x=0; x<boundaryVals.length && !grade.equals(""); x++) {
        if (boundaryVals[x] <= i) {
            grade = grades[x];               
        }
    }
    return grade;
}

Ceci est mieux structuré car il a la condition de terminaison de boucle en un seul endroit, plutôt que de l'étaler en utilisant "break".

Comme d'habitude, ce n'est pas une règle absolue. Pour les cas plus compliqués, la "rupture" est plus claire. C'est une question de goût.

Le «retour» de la mi-boucle, comme suggéré dans les commentaires, n'est pas non plus une mauvaise solution dans ce cas particulier. Mais je pense qu'il vaut la peine de souligner que les conditions de boucle ne se limitent pas à un simple comptage de 0 à N.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Comment insérer une valeur de variable dans la formule getpivotdata à l'aide de la macro Excel VBA

  2. 2

    Des résultats inattendus dans les discussions Java multi-malgré les verrous

  3. 3

    Comment appliquer un effet de flou sur une barre de navigation en css

  4. 4

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  5. 5

    Comment puis-je faire fonctionner un effet de verre / flou CSS pour une superposition?

  6. 6

    Comment supprimer des mots d'un fichier texte en Python qui contiennent certaines lettres ?

  7. 7

    ERREUR 1054 (42S22): colonne inconnue 'marque' dans 'liste de champs'

  8. 8

    La connexion du conteneur FTP fonctionne avec docker-compose et non avec docker run

  9. 9

    Définir des URL pour la redirection vers une URL spécifique sans réécriture

  10. 10

    Pandas - Remplacer la valeur de ligne du calcul dérivé

  11. 11

    L'abonnement Python du kit AWS IoT SDK renvoie true mais le paramètre de rappel n'est pas appelé

  12. 12

    Impossible d'insérer des lignes et d'obtenir une contrainte de clé étrangère échoue

  13. 13

    Comment passer des paramètres d'URL lors de la redirection vers une autre URL?

  14. 14

    Python: exécutez plusieurs commandes dans CMD en une seule instance

  15. 15

    Comment faire une requête rapide vers une URL spécifique

  16. 16

    Authentification angulaire Laravel

  17. 17

    aucun opérateur ne correspond à ces opérandes ; les types d'opérandes sont : std::istream >> const char [5]

  18. 18

    Une erreur fatale s'est produite lors de la création des informations d'identification du client TLS. L'état d'erreur interne est 10013

  19. 19

    Apache XmlBeans NullPointerException

  20. 20

    JS : séparez les éléments du tableau et affichez les éléments individuels dans un tableau

  21. 21

    WebScrape - 獲取href

chaudétiquette

Archive