Recherche dans un tableau
Résolu/Fermé
lekludo
Messages postés
121
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
14 février 2017
-
19 août 2013 à 11:36
lekludo Messages postés 121 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 14 février 2017 - 20 août 2013 à 08:05
lekludo Messages postés 121 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 14 février 2017 - 20 août 2013 à 08:05
A voir également:
- Recherche dans un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Trier un tableau excel - Guide
2 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
19 août 2013 à 14:19
19 août 2013 à 14:19
Bonjour,
Plusieurs corrections :
- de la manière dont ta boucle est faite, il est plus simple de commencer avec un indice égal à -1, et de faire l'incrémentation automatique de 1 dans le test de ta boucle, avant (via le ++i dans le code corrigé)
- l'incrémentation du compteur i dans la boucle disparait donc (qui plus est, il ne devait pas être conditionné comme tu l'as fait ! On incrémente toujours, peu importe que le résultat soit trouvé ou non)
- Pour checker la valeur FALSE d'un bouléan, utilises plutot l'opérateur '!' de négation, c'est plus lisible.
- J'ai modifier l'affichage (inversion des valeurs utilisées dans les system.out.println, ainsi qu'un incrément de 1 sur le compteur 'i' lors de l'affichage du message, de manière à avoir une position humainement lisible (plutot que d'obtenir un décalage: position 0, 1, ...)
Code de ta fonction corrigé:
Plusieurs corrections :
- de la manière dont ta boucle est faite, il est plus simple de commencer avec un indice égal à -1, et de faire l'incrémentation automatique de 1 dans le test de ta boucle, avant (via le ++i dans le code corrigé)
- l'incrémentation du compteur i dans la boucle disparait donc (qui plus est, il ne devait pas être conditionné comme tu l'as fait ! On incrémente toujours, peu importe que le résultat soit trouvé ou non)
- Pour checker la valeur FALSE d'un bouléan, utilises plutot l'opérateur '!' de négation, c'est plus lisible.
- J'ai modifier l'affichage (inversion des valeurs utilisées dans les system.out.println, ainsi qu'un incrément de 1 sur le compteur 'i' lors de l'affichage du message, de manière à avoir une position humainement lisible (plutot que d'obtenir un décalage: position 0, 1, ...)
Code de ta fonction corrigé:
public static void main(String[] args) { // TODO Auto-generated method stub int tab[]={0,2,4,6,8}; int i=-1; System.out.println("Saisir un nombre pair"); Scanner src =new Scanner(System.in); int nb=src.nextInt(); boolean tr=false; while (!tr && (++i<tab.length)){ if(nb==tab[i]) { tr=true; } } if(tr) { System.out.println("le nombrer "+tab[i]+" se trouve dans ce tableau et est à la position "+(i+1)+ " du tableau"); } else { System.out.println("le nombrer "+nb+" ne se trouve pas dans ce tableau"); } }
lekludo
Messages postés
121
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
14 février 2017
1
20 août 2013 à 08:05
20 août 2013 à 08:05
merci encore ca me soulage de savoir qu'on m'aide au moins merci
--
--