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 :

saisi d'un String entier


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ke2007
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Par défaut saisi d'un String entier
    Bonjour,

    Voila je débute Java depuis peu (grâce au bouquin "le livre de Java premier language" pour ceux qui connaissent), et il y a un endroit où je bloque un peu.

    En effet, normalement il est possible de demander à l'utilisateur de saisir une chaîne de caractères (enfin une phrase) grâce au code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String phrase = " ";
    Scanner lectureClavier = new Scanner(System.in);
     
    System.out.print("saisissez une phrase: ");
    phrase = lectureClavier.next(); //on récupère la phrase (normalement)
    System.out.println("Votre phrase est: " + phrase);
    Malheureusement, lorsque je veux afficher la phrase, il n'affiche que le premier mot.

    Donc je voudrais savoir d'où venez le problème et comment le résoudre si on peut?
    Et sinon y a t-il une autre manière de récupérer une chaîne de caractère sans passer par une boucle while et la variable char.

    Merci d'avance

  2. #2
    Membre chevronné Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Par défaut
    Oui, c'est normal. Faut faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    StringBuffer phrase = new StringBuffer(32);
    String lu = null;
    while (sc.hasNext()) {
       lu = sc.next();
       phrase.append(lu).append(" ");
    }
     
    System.out.print(phrase.toString());
    Regarde du côté de la JavaDoc (indispendable pour tout développeur JAVA, surtout pour les débutants)


    Sinon sans passer par scanner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String phrase = reader.readLine().trim();
     
    System.out.print(phrase);

    PS: Code non testé (pas le temps un dimanche matin )

    Plus d'explications dans ces cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
    Par exemple le cours Java de jmdoudou est vraiment au top : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre confirmé Avatar de ke2007
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Par défaut
    ok merci

    Par contre il existe une java.doc en français? Parce que l'anglais...même si je comprend dans les grosses lignes, c'est pas mon fort

    En tout cas merci, je vais regarder ces fonctions plus en détails.

  4. #4
    Membre confirmé Avatar de abir84
    Inscrit en
    Mars 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2007
    Messages : 214
    Par défaut
    Bjr,

    Je te conseille de voir les doc de Jean Michel Doudoux présents sur developpez.com. Ils sont très constructifs et sont en français :

    http://jmdoudoux.developpez.com/
    http://jmdoudoux.developpez.com/java/fichiers/dej.zip

    et aussi : http://java.developpez.com/cours/

    Bon courage

  5. #5
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Citation Envoyé par ke2007 Voir le message
    Et sinon y a t-il une autre manière de récupérer une chaîne de caractère sans passer par une boucle while et la variable char.
    Je pense que tu peux télecharger le package EasyIn. Dans ton code tu déclares une istance EasyIn :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    EasyIn Entree = New EasyIn();
    et puis tu peux récupérer ce qui est entré au clavier en mettant
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    Entree.readString();
    dans une variable de type String que tu afficheras par la suite.

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String phrase;
    Scanner lectureClavier = new Scanner(System.in);
    
    System.out.print("saisissez une phrase: ");
    phrase = lectureClavier.nextLine(); //on récupère la phrase
    System.out.println("Votre phrase est: " + phrase);
    Si tu utilises Java SE 6, le plus simple est d'utiliser la classe Console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.out.print("saisissez une phrase: ");
    String phrase = Console.readLine();
    System.out.println("Votre phrase est: " + phrase);

  7. #7
    Membre confirmé Avatar de ke2007
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 82
    Par défaut
    Ok merci pour vos réponse

    Je vais aller voir la doc de Doudoux ^^ tout à l'heure.

    Sinon nextLine() marche nikel, pour ceux qui est de la console, il me manquer quelque chose, mais j'irais me renseigner car elle ma l'aire très intéressante

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

Discussions similaires

  1. ne permettre que la saisie d'une valeur entiere
    Par jacksparo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2009, 12h32
  2. Masque de Saisie sur un String
    Par Myogtha dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/03/2008, 09h04
  3. De string à entier
    Par toutounesan dans le forum C++
    Réponses: 9
    Dernier message: 10/09/2007, 14h42
  4. [débutant mais pas trop] conversion string->entier
    Par Biosox dans le forum Débuter
    Réponses: 5
    Dernier message: 06/01/2006, 22h41
  5. Convertion string => entier
    Par en_gel_ho dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/06/2005, 12h59

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