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 :

Affectation variable tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    etudiante
    Inscrit en
    Janvier 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : etudiante
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 12
    Par défaut Affectation variable tableau
    Bonjour,

    Voilà un programme qui consiste à classer les participants d'une course selon les options disponibles.
    J'ai crée un tableau char pour y saisir les noms des participants, j'ai fais une boucle pour saisir autant de noms que le nombre de participants et j'aimerai qu'a chaque itération je puisse récupérer le noms du participant et le placer à l'indice de mon choix dans le tableau

    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
    public class course2 {
      public static void main (String[]args){
        int nbParticipants, option, position;
     
     
        System.out.println (" Entrez un nombre de participants ");
    nbParticipants = Terminal.lireInt (); 
     
    char[] participants = new char[nbParticipants]; 
    for(int i=0; i<nbParticipants; i++ ) { 
    System.out.println (" ajouter un participant ");
    participants [i] = Terminal.lireChar ();
    }
     
     
     
    System.out.println ( " choisir une option ");
    System.out.println ( " 1. afficher la liste des participants ");
    System.out.println ( " 2. afficher le classement provisoire " );
    System.out.println ( " 3. enregistrer une arrivée " );
    System.out.println ( " 4. enregistrer un abandon "); 
    System.out.println  (" 5. enregistrer une disqualification ");
    System.out.println ( " 6. Quitter ");
     
    option =Terminal.lireInt ();
     
    if (option == 1){
         for(int i=0; i<participants.length;    i++ ) 
            System.out.println (participants[i]);
    }
    if (option ==3) {
      System.out.print (" Entrez le nom du participant ");
      System.out.print (" Quel est sa position ?");
        position = Terminal.lireInt ();
     
      }
    }
    Help please

  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,

    Il est où exactement le problème ?

    Tu as écrit la moitié de ce que tu dois faire ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (option ==3) {
      System.out.print (" Entrez le nom du participant ");
      System.out.print (" Quel est sa position ?");
        position = Terminal.lireInt ();
     
      }
    Tu affiches "Entrez le nom du participant", puis "quel est sa position", mais tu ne lis que la position. Si, tout simplement, tu lisais les informations correspondant aux invites que tu affices ?
    Comme lire le nom du participant entre System.out.print (" Entrez le nom du participant "); et System.out.print (" Quel est sa position ?");. Et ça tu sais le faire, tu l'as déjà fait lors de la lecture initiale : String nom = Terminal.lireChar ();Donc, avec ça, tu vas avoir un nom et une position, et a priori un tableau pour les ranger dedans (qu'il faut que tu déclares)... tu as tout ce qu'il te faut pour le faire.
    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
    etudiante
    Inscrit en
    Janvier 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : etudiante
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 12
    Par défaut
    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
     else{
        System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "ème");
     arrivé1 = participant1+ position1;
    
       System.out.print ("Souhaitez vous enregistrer un autre participant ?" );
     char reponse = oui;
       
       while ( reponse == oui ){
       System.out.print (" Entrez le nom du participant ");
      participant1 = Terminal.lireChar();
      System.out.print (" Quel est sa position ?");
        position1 = Terminal.lireInt ();
        if (position1==1){
          System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "er" );
        }
          else{
        System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "ème");
     arrivé1 = participant1+ position1;
       System.out.print ("Souhaitez vous enregistrer un autre participant ?" );
       
    
      }
    }
    }]
    1)J'ai deux fois l'erreur " File: C:\Users\\Downloads\course2.java
    Error: cannot find symbol
    symbol: variable arrivé1
    location: class course2" au lignes écrites en rouge, je ne comprend pas pourquoi

    2) J'aimerais que l'utilisateur ne puisse pas enregistrer plus d'arrivé qu'il n'y a de participants,
    3) Qu'il ne puisse pas enregistrer deux fois le même participant ni la même position malgré la boucle

  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
    cannot find symbol veut dire que tu fais appelle à un terme qui n'existe pas : Java ne sait pas ce que c'est.
    Dans ton cas, c'est la variablke arrivé1 qui n'existe pas (déclarée nulle part dans le scope où tu y fais référence).

    Citation Envoyé par mrsdeath Voir le message
    2) J'aimerais que l'utilisateur ne puisse pas enregistrer plus d'arrivé qu'il n'y a de participants,
    3) Qu'il ne puisse pas enregistrer deux fois le même participant ni la même position malgré la boucle
    Pour le point 2, Si tu stockes tes participants dans un tableau et que sa taille est le nombre de participants, tu ne pourras pas stocker plus de participants qu'il en existe (la taille du tableau limite le nombre de participants).
    Pour le point 3, à chaque saisie de particpants, parcourir le tableau et comparer chaque case avec la saisie : s'il y a égalité, le particpant est déjà dans le tableau, donc sa position est déjà connue.
    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 habitué
    Femme Profil pro
    etudiante
    Inscrit en
    Janvier 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : etudiante
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 12
    Par défaut
    en quoi je dois déclarer "Arrivé 1" ? il ne l'accepte pas en char

  6. #6
    Membre habitué
    Femme Profil pro
    etudiante
    Inscrit en
    Janvier 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : etudiante
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 12
    Par défaut
    J'ai déclaré Arrivé1 en String,

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    public class course2 {
      public static void main (String[]args){
        int nbParticipants, option, position, position1;
        char participant1;
        String arrivé1, OUI, reponse;
     
     
     
        System.out.println (" Entrez un nombre de participants ");
    nbParticipants = Terminal.lireInt (); 
     
    char[] participants = new char[nbParticipants]; 
    for(int i=0; i<nbParticipants; i++ ) { 
    System.out.println (" ajouter un participant ");
    participants [i] = Terminal.lireChar ();
    }
     
     
     
    System.out.println ( " choisir une option ");
    System.out.println ( " 1. afficher la liste des participants ");
    System.out.println ( " 2. afficher le classement provisoire " );
    System.out.println ( " 3. enregistrer une arrivée " );
    System.out.println ( " 4. enregistrer un abandon "); 
    System.out.println  (" 5. enregistrer une disqualification ");
    System.out.println ( " 6. Quitter ");
     
    option =Terminal.lireInt ();
     
    if (option == 1){
         for(int i=0; i<participants.length;    i++ ) 
            System.out.println (participants[i]);
    }
    if (option ==3) {
      System.out.print (" Entrez le nom du participant ");
      participant1 = Terminal.lireChar();
      System.out.print (" Quel est sa position ?");
        position1 = Terminal.lireInt ();
        if (position1==1){
          System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "er" );
        }
          else{
        System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "ème");
     arrivé1 = " participant1 + position1 ";
     
       System.out.print ("Souhaitez vous enregistrer un autre participant ?" );
            reponse = Terminal.lireString ();
     
       while ( reponse == OUI ){
       System.out.print (" Entrez le nom du participant ");
      participant1 = Terminal.lireChar();
      System.out.print (" Quel est sa position ?");
        position1 = Terminal.lireInt ();
        if (position1 < nbParticipants){
          System.out.print (" position incorrecte");}
        else{
        if (position1==1){
          System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "er" );
        }
          else{
        System.out.print ("le courreur" + participant1 + "est arrivé" + position1 + "ème");
     arrivé1 = " participant1+ position1 ";
       System.out.print ("Souhaitez vous enregistrer un autre participant ?" );
     
     
      }
    }
    }
    }
      }
    }
    }
    J'ai une erreur, on me dit que "Oui" n'a pas été initialisé alors que si

  7. #7
    Membre habitué
    Femme Profil pro
    etudiante
    Inscrit en
    Janvier 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : etudiante
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 12
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Pour le point 3, à chaque saisie de particpants, parcourir le tableau et comparer chaque case avec la saisie : s'il y a égalité, le particpant est déjà dans le tableau, donc sa position est déjà connue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (option ==3) {
      System.out.print (" Entrez le nom du participant ");
      participant1 = Terminal.lireChar();
     
      for ( i=0; i<tab.lenght-1; i++);{
     
        if (participant1 == participants[i]);
          System.out.print (" déjà enregistré");
     
      System.out.print (" Quel est sa position ?");
    ma boucle ne compile pas

  8. #8
    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
    Bah, là, c'est difficile de dire, vu que tu ne donnes qu'un bout de code et pas le message d'erreur. Je dirais qu'il y a une accolade mal fermée...

    Par ailleurs, rappelle-toi ce que je t'ai écrit ici, au sujet du point-virgule.
    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. [XL-2010] Affecter un tableau avec une variable créée avec Type
    Par paulselvan dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/01/2013, 12h07
  2. Affecter une plage de cellules à une variable tableau
    Par bilou_12 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/01/2013, 09h19
  3. Acces à une variable-tableau de PHP
    Par Erwan21 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2005, 13h55
  4. [JSP] [débutant] affectation variable java
    Par RENAULT dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/07/2004, 15h44
  5. Affecter variable champs
    Par pete007 dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2004, 16h33

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