IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Recherche de d'un caractère dans un tableau et affichage de message


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Dominique Rep.

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2014
    Messages : 100
    Points : 47
    Points
    47
    Par défaut Recherche de d'un caractère dans un tableau et affichage de message
    Bonjour à toute la famille du forum
    J'ai un petit souci dans un programme que je suis entrain d'écrire.
    En fait mon programme demande à l'utilisateur de saisir une lettre et de regarder ensuite si elle est présente dans le tableau. Si le caractère est présent dans le tableau, il affiche un message pour signifier qu'il est présent dans le tableau et un autre message dans le cas contraire. Et enfin il demande à l'utilisateur s'il veut effectuer une autre recherche.
    Lorsque j'exécute mon programme (voir en dessous), il ne répond pas à mes conditions.
    Merci d'avance pour vos réponses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package iniesta;
     
    import java.util.Scanner;
     
    public class Barca {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    Scanner sc=new Scanner(System.in);
    char saisie=' ' ,rpse='O';
    int i=0;
    char tabmuti[]={'a','b','c','d','e'} ;
    while(rpse=='O')
    {
    	i=0;
    	System.out.println("Entrez une lettre en minuscule SVP");
    	saisie=sc.nextLine().charAt(0);		
    {
    while(i<tabmuti.length && saisie!=tabmuti[i])
    {
    	i++;
    if(i<tabmuti.length)
    	System.out.println("la lettre "+saisie+" se trouve dans le tableau");
    else
    	System.out.println("la lettre "+saisie+" ne se trouve pas dans le tableau");
    }
    while(rpse!='O' && rpse!='N')
    	{
    	System.out.println("Voulez-vous reseayez une autre saisie ? (O/N)");
        rpse=sc.nextLine().charAt(0);
    	}
    }
     
    	}
     
    }
    }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Une bonne indentation permet de mieux comprendre un code, et, donc, est souvent la clef pour le faire fonctionner :

    Regarde la boucle que j'ai surlignée : n'y-a-t-il pas quelque chose qui te saute aux yeux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class Barca {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc = new Scanner(System.in);
    		char saisie = ' ', rpse = 'O';
    		int i = 0;
    		char tabmuti[] = { 'a', 'b', 'c', 'd', 'e' };
    		while (rpse == 'O') {
    			i = 0;
    			System.out.println("Entrez une lettre en minuscule SVP");
    			saisie = sc.nextLine().charAt(0);
    			{
    				while (i < tabmuti.length && saisie != tabmuti[i]) {
    					i++;
    					if (i < tabmuti.length)
    						System.out.println("la lettre " + saisie
    								+ " se trouve dans le tableau");
    					else
    						System.out.println("la lettre " + saisie
    								+ " ne se trouve pas dans le tableau");
    				}
    				while (rpse != 'O' && rpse != 'N') {
    					System.out
    							.println("Voulez-vous reseayez une autre saisie ? (O/N)");
    					rpse = sc.nextLine().charAt(0);
    				}
    			}
    
    		}
    
    	}
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Dominique Rep.

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2014
    Messages : 100
    Points : 47
    Points
    47
    Par défaut
    Salut,
    Je ne vois pas ce que vous voulez dire. Pouvez-vous être un peu plus clair svp?

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Déjà, tu pourrais décrire en quoi ton programme ne répond pas à tes conditions. Mais je devine (en le lisant) qu'il affiche plusieurs fois le message "la lettre "+saisie+" se trouve dans le tableau", sauf si on a saisi 'a' (là rien s'affiche), et jamais l'autre. Et c'est parce que, évidemment, le if est dans la boucle que j'ai surlignée.
    Exécute le programme en pas pas (mode débug) et tu verras comment il se comporte.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut confrère programmeur,

    Je trouve que tu te compliques un peu la vie. En gros ce que tu veux c'est vérifier l'existence d'un char d'ans un tableau.
    Initialise une variable booléenne pour confirmer l'existence de la lettre dans le tableau. Pense à faire une boucle for pour parcourir ton tableau et fais une boucle if à l’intérieur qui va vérifier si la lettre tapée est bien présente dans le tableau.
    Si c'est le cas confirme avec le booléen pour que le message qui te dit que tu as trouvé n’apparaît pas plusieurs fois !
    Ensuite, hors de ta boucle for, fais un if qui va indiquer le programme à suivre lorsque tu ne trouve pas la lettre. Toujours en utilisant le booléen.
    J’espère que tu me suis.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut @stoneyanick,

    L'algorithme de @patricia_zer n'a rien de compliqué : la seule erreur qu'elle a faite, c'est de mettre le if dans le while, au lieu de le mettre après le while. Ton explication emberlificotée ne fait que décrire plus ou moins le même l'algorithme, en un peu plus compliqué, sauf qu'au lieu d'un booléen, elle utilise le fait que i soit inférieur au nombre de lettres dans le tableau pour dire que la lettre est trouvée (et dans le cas contraire, que la lettre ne l'est pas).

    Accessoirement, la structure if n'est pas une boucle, mais une alternative.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2012, 12h16
  2. [aide] recherche de caractères dans un tableau
    Par carriebradshaw dans le forum Débuter
    Réponses: 6
    Dernier message: 03/03/2008, 23h16
  3. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51
  4. retrouver unesuite de caractères dans un tableau de char
    Par petitours dans le forum C++Builder
    Réponses: 17
    Dernier message: 12/07/2005, 23h43
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo