Exercice a résoudre en java

Fermé
r.mima Messages postés 2 Date d'inscription vendredi 13 décembre 2013 Statut Membre Dernière intervention 22 novembre 2014 - Modifié par lilidurhone le 22/11/2014 à 13:22
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 nov. 2014 à 14:13
slt tout la monde j'ai un exercice a résoudre ,c'est :Ecrire un programme qui demande a l'utilisateur de saisir 10 entier dans un tableau ainsi qu'un entier V,ensuite Ecrire une fonction qui recherche si V existe dans ce tableau ou non.
quand j'exécute mon programme il me demande d'entrer les 10 valeurs ,mais lors ce que j'appelle la fonction qui recherche si v se trouve dans le programme il ne fait rien voila mon code source
merci d'avance
public class Exercice2{        
     
      
   
    public static void main(String[] args) {
       
      int t[]=new int[10]; 
        int v=10;
        int i;
       //int[]t=new int [10];
        /*int[]t={10,1,5,14,8,7,5,2,4,12};*/
       System.out.println("entrer les valeurs de votre tableau");
       for(i=0;i<t.length-1;i++){
       Scanner sc =new Scanner(System.in);
       int n= sc.nextInt();
     
    Exercice2.F(t, 10);
       }
         
      
    }
    /*la methode1*/
    
      public static void  F(int[]t,int v){
      int i; 
      for(i=0;i<t.length;i++){
    if(t[i]==10)
            System.out.println("la valeur v existe");
           return;
       }
           System.out.println("v n'extsti pas");
        
        }
       
    
}
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 nov. 2014 à 13:42
Bonjour,

Déjà il n'y a aucune raison que tu appelles
Exercice2.F(t, 10);
à l'intérieur de ta boucle for, il faudrait le faire uniquement après avoir saisi toutes les valeurs de ton tableau. Mais attention car en faisant
i<t.length-1
tu ne vas prendre que 9 valeurs, pas 10.

Quant à ton problème c'est parce que le return dans la méthode F s'exécute toujours, dès le premier tour de boucle.

for(i=0;i<t.length;i++) {

    if (t[i]==10)
        System.out.println("la valeur v existe");

    return;
}

Il faudrait plutôt mettre ton return dans le if :
for(i=0;i<t.length;i++) {

    if (t[i]==10) {
        System.out.println("la valeur v existe");
        return;
    }
}
0
merci de m'avoir répondu
0
j'ai exécuter a nouveau mais le traitement sur la boucle for ne marche pas il m'affiche toujours
("v n'existe pas")
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 nov. 2014 à 14:13
Effectivement, il y a encore (au moins) un problème : lorsque tu saisis tes valeurs au clavier, tu les mets dans une variable n, mais tu as oublié de les mettre dans ton tableau !
0