Valeur n'est pas trouvé

Résolu/Fermé
domxaline - 20 mars 2016 à 19:24
domxaline Messages postés 188 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 7 mars 2018 - 21 mars 2016 à 17:33
Bonjour,
quand j rentre une valeur
s'il le trouve, il s’affiche:"valeur n'est pas trouvé" aussi
Entrez la valeur de l'élément à trouver:
2
valeur n'est pas trouvé
valeur est trouve, il est dans la position:1

s'il ne trouve pas il s'affiche:
Entrez la valeur de l'élément à trouver:
1
valeur n'est pas trouvé
valeur n'est pas trouvé
valeur n'est pas trouvé
valeur n'est pas trouvé
valeur n'est pas trouvé
valeur n'est pas trouvé

import java.util.Scanner;
public class RecSeq2a 
{
	public static void main(String[] args) 
	{
		 int tab[]={5,2,10,6,9,7};
		 Scanner sc=new Scanner(System.in);
		 System.out.println("Entrez la valeur de l'élément à trouver:"); 
	     int elt =sc.nextInt();
	     
	     int i=0;
	     int position=-1;
	     boolean trouve=false;
	     do
	     {
	    	 if(tab[i]==elt)
	    	 {
	    		 trouve=true;
	    		 position=i;
	    		 System.out.println("valeur est trouve, il est dans la position:"+position);
	    	 }
	    	 else
	    	 {
	    		 i=i+1;
	    		System.out.println("valeur n'est pas trouvé");
	    	 }
	    }while(!trouve && i<tab.length);
	}
}

veuillez m'aidez svp

3 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
20 mars 2016 à 21:37
Bonsoir

as tu essayé d'exécuter ton code en pas à pas?

0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 mars 2016 à 22:06
Bonsoir,

Ton code fonctionne, tu as juste quelques affichages en trop puisque tu fait un println systématiquement à chaque tour de boucle, au lieu de faire l'affichage du résultat final seulement.
0
domxaline Messages postés 188 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 7 mars 2018 10
21 mars 2016 à 17:33
merci beaucoup pour vos aides
j'ai corrigé mon prg, le voilà:
import java.util.Scanner;
public class RecSeq2 
{
  public static void main(String[] args) 
	{
	    Scanner sc=new Scanner(System.in);
	    System.out.println("Entrez la valeur de l'élément à trouver:"); 
	    int result = Test(sc.nextInt());
	    if (result != -1)
	    {
	      System.out.println("L'élément est trouvé et il est à la position: "+ result);
	    }
	    else
	    {
	       System.out.println("L'élément n'existe pas dans le tableau");
	    }
	  }
	      private static int Test(int result1)
	      {
	    	     int tab[]={5,9,7,6,10,8};
	    	     int i=0;
	    	     int position=-1;
	    	     boolean trouve=false;
	    	     do
	    	     {
	    	    	 if(tab[i]==result1)
	    	    	 {
	    	    		 trouve=true;
	    	    		 position=i;
	    	    	 }
	    	    	 else
	    	    	 {
	    	    		 i=i+1;
	    	    	 }
	    	     }
	    	     while(!trouve && i<tab.length);
				return position;
	      }
}
0