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 :

lire noms et resultats de 10 participants


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Par défaut lire noms et resultats de 10 participants
    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
    import java.util.Scanner;
    public class nomResultats {
    public static void main(String args []) {
    int i;
    for (i=1; i<=10; i++){
    System.out.println("paticipant numero " +i+ " entrez votre nom");
    Scanner scanner = new Scanner(System.in);
    String nom = scanner.nextLine();
     
     
    System.out.println("entrez le resultat obtenue " +i);
     
    int resultat = scanner.nextInt();
     
     
    }
    }
    }
    bonjour donc j'ai un programme ici qui lit le nom et resultat de 10 participant moi ce que je veux faire avec c'est de mafficher le meilleur comment je peux le faire quelqu'un peut me donner une piste ?

  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,

    Tu pourrais au moins nous dire ce que tu entends par "le meilleur". On peut supposer que c'est celui qui a le résultat le plus grand, mais ça pourrait être n'importe quoi d'autre.

    En tout cas, si c'est bien celui qui a le résultat le plus grand, (et si on met de côté la problématique de deux résultats égaux qu'on résoudra plus tard), tu as réalisé (avec notre aide) dans un post un programme qui détermine entre 5 saisies laquelle est la plus grande. Tu n'as pas l'impression que ce nouveau problème est très très similaire à celui de cet autre post ? A la différence près que dans l'autre post tu devais déterminer la valeur saisie la plus grande, alors que là c'est le nom associé que tu dois déterminer. Indice : dans l'autre programme, tu utilisais max pour stocker la valeur la plus grande ; et si tu utilisais en plus une autre variable pour stocker par exemple le nom associé à ce max ?
    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 averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Par défaut
    Désolé mais je voulais dire afficher le nom du meilleur participant (sans afficher le score ça n'a pas d'importance) J'ai testé quelques trucs mais, à chaque fois, ça me dit que je peux pas mélanger un String et un int, ce qui est vrai.

    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
    import java.util.Scanner;
    public class nomResultats {
       public static void main(String args []) {
          int meuilleur = Integer.MIN_VALUE;
          int i;
     
          for (i=1; i<=3; i++){
             System.out.println("paticipant numero " +i+ " entrez votre nom");
             Scanner scanner = new Scanner(System.in);
             String nom = scanner.nextLine();
     
     
             System.out.println("entrez le resultat obtenue " +i);
     
             int resultat = scanner.nextInt();
             if (resultat>meuilleur){
                meuilleur=resultat; 
                meuilleur=nom;
     
               }
     
          }
       }
    }
    voila ce que j'ai essayé mais je n'arrive pas à sortir un nom

  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
    Citation Envoyé par projavalol Voir le message
    desole je voulais dire afficher le nom du meilleur participant
    Ça ne dit pas plus ce que veux dire "meilleur" !

    Citation Envoyé par projavalol Voir le message
    j'ai testé quelque truc mais a chaque ca me dit que je peux pas melanger un String et un int ce qui est vrai.
    Et donc, si, comme je te l'ai dit, tu utilises deux variables, un int pour stocker la plus grande valeur (ta variable meuilleur) et un String pour stocker le nom correspondant ?
    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 averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 10
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Ça ne dit pas plus ce que veux dire "meilleur" !


    Et donc, si, comme je te l'ai dit, tu utilises deux variables, un int pour stocker la plus grande valeur (ta variable meuilleur) et un String pour stocker le nom correspondant ?
    hmm oui je vois un peu plus claire je vais essayer de refaire merci en tout cas j'apprecie beaucoup.

  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 : 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
    Oui, m'enfin, il n'y a pas besoin de tout refaire : il suffit d'ajouter une nouvelle variable (de type String) et d'ajouter son affectation avec le nom saisi (la variable nom) dans le bloc du if où tu affectes déjà meuilleur (là où tu as déjà essayé d'écrire meuilleur=nom;).

    En revanche, tu vas rencontrer un autre problème avec le nextInt() du Scanner, que tu ne peux pas deviner sauf en lisant bien la doc de Scanner et en connaissant particulièrement bien le fonctionnement du clavier et du tampon associé.

    Comme il n'est pas possible sauf exception quasi impossible qu'un programme fonctionne à la même vitesse qu'un utilisateur qui tape au clavier, toutes les touches qu'un utilisateur tape au clavier sont stockées dans un tampon, que le programme traite à son rythme. Précisément, en Java, on récupère plutôt un tampon qui contient une conversion des touches en caractères. Il y a donc dans le tampon tout ce que tape l'utilisateur, sous forme de caractères, y compris les retour-chariots correspondant à l'appui de la touche entrée.

    Quand tu lis un entier par la méthode nextInt() de la classe Scanner, le code de cette méthode (et des méthodes qui sont appelées en coulisse par celle-ci) va lire des caractères dans le tampon pour reconstituer un int. Ce faisant il supprime du tampon ces caractères mais le retour-chariot ne faisant pas partie de ce int, il reste dans le tampon. Seule la méthode nextLine() retire du tampon ce retour-chariot. Ainsi, si tu appelles nextInt() et qu'ensuite tu appelles nextLine() comme c'est le cas dans ton programme pour lire le nom du deuxième participant lorsque la boucle réitère, ce n'est pas la ligne saisie correspondante à ce nom qui va être lue par nextLine() mais la fin de celle qui est encore en attente dans le tampon correspondant à la saisie du "score" du nom précédent. Et donc ensuite, le nextLine() qui devrait lire le nom va lire la valeur saisie pour le deuxième nom, et le nextInt() suivant va planter (tu auras une exception java.util.InputMismatchException) parce qu'il va lire le nom du troisième participant, qui n'est pas un int, à priori.

    Il est donc nécessaire d'appeler un nextLine() juste après avoir appelé le nextInt() juste pour vider le tampon, afin de repartir dans la boucle de façon normale.

    Ta boucle doit ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while (condition) /*ou for, c'est pareil*/ {
    String nom = scanner.nextLine(); // pour lire le nom
    int resultat = scanner.nextInt(); // pour le lire le score associé au nom
    scanner.nextLine(); // pour vider le tampon correspondant à la saisie du int
    }
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Erreur de formule, #NOM en resultat
    Par Babou0128 dans le forum Excel
    Réponses: 1
    Dernier message: 11/07/2016, 18h52
  2. Réponses: 8
    Dernier message: 04/08/2015, 00h06
  3. Lire fichier .ini - resultat null
    Par Jose.N70 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 18/09/2009, 10h27
  4. [MySQL] Créer des tableaux en PHP avec pour nom le resultat fournit par requête SQL
    Par arrakis75 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/01/2009, 13h49
  5. lire nom de fichier pour sauvegarde ensuite sur presse papier
    Par chapeau_melon dans le forum VBScript
    Réponses: 3
    Dernier message: 21/03/2007, 20h35

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