Tableaux statiques
Résolu
LeBolide
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
LeBolide Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
LeBolide Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai besoin de conseils pour une méthode, aidez moi juste a comprendre, ne m'écrivez pas la méthode déjà faites, merci d'avance. je dois permuter 2 objet contenu dans un tableau statique, je reçois les indices de ces objets en paramètre.
voici ce que jai essayé
voici ce que jai essayé
public boolean echangerEtudiantsBureau(int indice1, int indice2) { boolean retval = false; int temp = 0; if (indice1>= 0 || indice1 <= tblEtudiant.length && indice2 >= 0 || indice2 <= tblEtudiant.length && indice1 !=indice2) { for(int i=0; i<tblEtudiant.length; i++){ temp = tblEtudiant[indice1]; tblEtudiant[indice1] = tblEtudiant[indice2]; tblEtudiant[indice2] = temp; retval = true; } } return retval; }
A voir également:
- Tableau statique java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
2 réponses
finalement la boucle for ne me sert a rien, donc je l'enleve.
public boolean echangerEtudiantsBureau(int indice1, int indice2) { boolean retval = false; int temp = 0; if (indice1>= 0 || indice1 <= tblEtudiant.length && indice2 >= 0 || indice2 <= tblEtudiant.length && indice1 !=indice2) { temp = tblEtudiant[indice1]; tblEtudiant[indice1] = tblEtudiant[indice2]; tblEtudiant[indice2] = temp; retval = true; } return retval; }
Bonjour,
Je trouve la condition de ton if particulièrement longue, tout ça alors même que tu ne fais pas de else...
En fait il faut distinguer le if qui gère des cas particuliers (ce qui est ton cas) et doit donc renvoyer un résultat par défaut rapidement, du if qui gère vraiment un branchage dans un code (mais c'est plus rare).
Voici donc plus simple et plus lisible :
Remarque : personnellement je pense qu'il vaudrait mieux faire du traitement d'exception plutôt qu'avoir un booléen en retour.
Je trouve la condition de ton if particulièrement longue, tout ça alors même que tu ne fais pas de else...
En fait il faut distinguer le if qui gère des cas particuliers (ce qui est ton cas) et doit donc renvoyer un résultat par défaut rapidement, du if qui gère vraiment un branchage dans un code (mais c'est plus rare).
Voici donc plus simple et plus lisible :
public boolean echangerEtudiantsBureau(int indice1, int indice2) { if (indice1 < 0) return false; if (indice1 >= tblEtudiant.length) return false; ... }
Remarque : personnellement je pense qu'il vaudrait mieux faire du traitement d'exception plutôt qu'avoir un booléen en retour.
public void echangerEtudiantsBureau(int indice1, int indice2) { if (indice1 < 0) throw new IllegalArgumentException("indice1 is invalid: "+indice1); ... }