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

avec Java Discussion :

Programme de saisie de chaînes de caractères


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    info
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : info

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Par défaut Programme de saisie de chaînes de caractères
    Bonjour,

    S'il vous plait, quelqu'un peut-il m'aider avec cette exercice. Je suis débutante en Java et je ne maîtrise pas beaucoup les tableaux.

    Ecrire un programme qui présente à l'utilisateur 3 options:
    1: ajouter
    2: lister
    3: terminer
    L'option 1 consiste à lire une chaine et à la stocker dans un tableau
    L'option 2 consiste à lister les chaines saisies
    L'option 3 consiste à terminer le programme
    Merci.

  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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    On veut bien t'aider, mais on ne fera ton exercice à ta place, parce que justement ceci ne t'aidera pas à apprendre. Montre-nous ce que tu as déjà fait, dis-nous les points ce lesquels tu rencontres des difficultés.

    Que tu ne maîtrises pas les tableaux, c'est normal, puisque tu es débutantes, mais tu dois pouvoir déjà décomposer le programme en sous-partie de base et en écrire le code Java :

    1. déclarer une variable de type tableau de chaînes de caractères, et l'initialiser à une certaine taille
    2. stocker une chaîne dans ce tableau
    3. avoir un moyen de savoir combien de chaînes sont stockées dans le tableau
    4. parcourir ce tableau pour en afficher le contenu


    En complément, puisqu'il faut saisir au clavier des chaînes à ajouter au tableau, afficher un menu pour choisir au clavier une des trois options voulues, il te faut un moyen de lire au clavier et d'afficher. Qu'est-ce que tu as déjà écrit comme code à ce sujet ?
    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 habitué
    Femme Profil pro
    info
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : info

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Par défaut
    Oui, je sais. Mon problème est avec la taille du tableau. Je ne peux pas savoir quelle sera sa longueur au départ. J'aimerais savoir s'il existe une autre alternative

  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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Effectivement, les tableaux en Java doivent avoir une taille définie au départ. Lorsqu'on doit résoudre le genre de problème qu'on te pose en utilisant absolument un tableau, on crée un tableau de taille arbitraire qui sera le nombre maximum de valeurs qu'on peut stocker dedans et on utilise une variable de type int pour mémoriser le nombre d'éléments qu'on a stocké dedans. Cette variable sert à la fois de nombre d'éléments stockés et d'indice pour le prochain nouvel élément stocké.

    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
    public class Exemple {
     
        public static void main(String[] args) {
     
             String[] tab = new String[100]; // on pourra stocker au maximum 100 String dans le tableau
             int n=0; // pour connaître le nombre de valeurs dans le tableau
     
             for(int i=0; i<5; i++) {  // je décide de stocker 5 chaînes dedans
                    tab[n] = "Exemple "+i; // je stocke toute nouvelle chaîne à l'index n
                    n++; // puis j'incrémente le compteur (n contient le nombre de chaînes dans tab et aussi l'index pour stocker la prochaine chaîne à stocker dans tab
             }
     
             // pour afficher les chaînes contenues dans le tableau, je me sers de n comme borne supérieure de boucle :
             for(int i=0; i<n; i++) {  
                 System.out.printf("La chaîne stockée à l'index %d est %d%n", i, tab[i]);
             }
     
     
        }
     
    }
    Dans ta fonction ajouter, il faudra juste penser à contrôler qu'on n'a pas atteint le nombre maximal de chaînes avant d'en ajouter une nouvelle, sinon tu obtiendras une exception (IndexArrayOutOfBoundException) en affectant la chaîne à tab[n]. Si on choisit "ajouter", et que n>=tab.length alors tu peux par exemple afficher "Plus de place disponible pour stocker une nouvelle chaîne".
    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
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Et pour information, oui il existe une alternative, d'ailleurs quand on la connaît on n'utilise presque plus les tableaux.

    Mais, l'énoncé dit d'utiliser un tableau, et les alternatives ne sont pas des tableaux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre habitué
    Femme Profil pro
    info
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : info

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Effectivement, les tableaux en Java doivent avoir une taille définie au départ. Lorsqu'on doit résoudre le genre de problème qu'on te pose en utilisant absolument un tableau, on crée un tableau de taille arbitraire qui sera le nombre maximum de valeurs qu'on peut stocker dedans et on utilise une variable de type int pour mémoriser le nombre d'éléments qu'on a stocké dedans. Cette variable sert à la fois de nombre d'éléments stockés et d'indice pour le prochain nouvel élément stocké.

    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
    public class Exemple {
     
        public static void main(String[] args) {
     
             String[] tab = new String[100]; // on pourra stocker au maximum 100 String dans le tableau
             int n=0; // pour connaître le nombre de valeurs dans le tableau
     
             for(int i=0; i<5; i++) {  // je décide de stocker 5 chaînes dedans
                    tab[n] = "Exemple "+i; // je stocke toute nouvelle chaîne à l'index n
                    n++; // puis j'incrémente le compteur (n contient le nombre de chaînes dans tab et aussi l'index pour stocker la prochaine chaîne à stocker dans tab
             }
     
             // pour afficher les chaînes contenues dans le tableau, je me sers de n comme borne supérieure de boucle :
             for(int i=0; i<n; i++) {  
                 System.out.printf("La chaîne stockée à l'index %d est %d%n", i, tab[i]);
             }
     
     
        }
     
    }
    Dans ta fonction ajouter, il faudra juste penser à contrôler qu'on n'a pas atteint le nombre maximal de chaînes avant d'en ajouter une nouvelle, sinon tu obtiendras une exception (IndexArrayOutOfBoundException) en affectant la chaîne à tab[n]. Si on choisit "ajouter", et que n>=tab.length alors tu peux par exemple afficher "Plus de place disponible pour stocker une nouvelle chaîne".
    merci .

Discussions similaires

  1. aide moi SVP
    Par rafikadouni dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/11/2007, 22h00

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