Comment rechercher un élément dans un tableaustring à deux dim saisi au clavier

Signaler
Messages postés
1
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
27 avril 2021
-
 Manoux_1998 -
Bonsoir à tous , excusez-moi
j’aurais besoin d’aide sur une méthode(procédure)que j’ai utilisé pour rechercher un élément dans un tableau à deux dimensions saisi au clavier (string) pour chercher un élément j’ai utilisé cette condition après avoir mis mes deux boucles : if(nomrechercher.equals(tab[i][j]) )
Valbool = true .... mais il ne marche pas aurais vous une astuce pour m’aider ? J’attends avec impatience votre d’aide . Merci d’acance

2 réponses

Messages postés
16337
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 mai 2021
118
Bonjour,

Pour t'aider à déboguer ton code il faudrait ton code complet, là tu nous montres une condition, a priori elle est bonne, donc le problème est ailleurs.
Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
un copie coller et pour poster ton code voir ici https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
>
Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021

merci beaucoup
System.out.println("Veuillez entrer nombre eleve rechercher ");
		nom=sc.nextLine();
		
	for(i=0;i<n;i++) 
	{
			for(j=0;j<m;j++) 
			{
				if(nom==tab[i][j])
					verif = true;
			}
	
		
	}
		
	if(verif) 
		{
			System.out.println("l'eleve que vous rechercher "+nom+"existe dans le tableau");
		}
		else 
		{
			System.out.println("l'eleve que vous rechercher "+nom+"n'existe pas dans le tableau");
		}
	}

voici l'extraire de la fonction mais il renvoie toujours "il n'est pas dans le tableau.

En attente de votre aide

Mes salutations
Messages postés
16337
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 mai 2021
118 > Manoux_1998
Dans ton code tu as mis
if(nom==tab[i][j])
ce qui est faux, en revanche dans ton premier message tu mettais
if(nomrechercher.equals(tab[i][j])
, et c'est bien ça qu'il faut faire.
>
Messages postés
16337
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 mai 2021

Je l’ai fais ça n’a pas marché voilà pourquoi j’ai songé au égale mais tout cela ne marche pas
Messages postés
5363
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 avril 2021
108
Salut,

Comme tu laisses trop de mystères (c'est quoi n et m? il valent quoi?)....
Ci-après, exemple de ton code avec les remarques ci-dessus (+ 2-3 changements):
private static boolean check(String array[][], String name)
{
  boolean check = false;
  /* Cherche le nom dans les tableaux, test en condition de boucle pour ne pas continuer si jamais le nom est trouvé (cela vaut pour les deux tableaux) */
  for(int i = 0; i < array.length && !check; ++i) 
    for(int j = 0; j < array[i].length && !check; ++j) 
      /* Comparaison de la chaine (trim pour éviter qu'un espace se glisse en début/fin de chaine). */
      /* ATTENTION: Ici c'est la chaine au sens strict qui est testée donc les majuscules/minuscules sont importantes */
      if(name.trim().equals(array[i][j]))
        check = true;
    return check;
}

public static void main(String []args){
  /* construction d'un tableau de noms, ici des entiers dans un tableau mais au fond c'est la meme chose */
  String tab[][] = new String[10][10];
  for(int i = 0; i < 10; ++i)
    for(int j = 0; j < 10; ++j)
      tab[i][j] = i + " " + j;

  /* flemme de faire une saisie clavier */
  String nom="5 6";
  /* Test et affichage */
  if(check(tab, nom)) 
    System.out.println("l'élève que vous rechercher '" + nom + "' existe dans le tableau");
  else 
    System.out.println("l'élève que vous rechercher '" + nom + "' n'existe pas dans le tableau");
        
  /* flemme de faire une saisie clavier */
  nom="5 10";
  /* Test et affichage */
  if(check(tab, nom)) 
    System.out.println("l'élève que vous rechercher '" + nom + "' existe dans le tableau");
  else 
    System.out.println("l'élève que vous rechercher '" + nom + "' n'existe pas dans le tableau");
}


Dev addict
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..." 
Merci je vais le tester
En pour ta question , le n c’est le nombre de ligne et m les colonnes.
Merci encore pour votre aide .