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

Langage Java Discussion :

Afficher des mots lus en entrée ou sur un fichier


Sujet :

Langage Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut Afficher des mots lus en entrée ou sur un fichier
    Bonjour,

    le programme suivant doit me permettre d'afficher les éléments que je taperai ou bien si je lui donne un nom de fichier, il m'affiche les mots de ce fichier.
    Dans le cas du fichier, il n'y a pas de problème mais lorsque je tape les mots, il ne s'affiiche pas.
    Je voudrai qu'il s'affiche une fois tous saisie
    Voici le code :
    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
    import java.io.*;
     
    public class Programme{
        public static void main(String [] args){
    	try{
    	    java.util. Scanner sc;
    	    java.util.ArrayList<String> list = new java.util.ArrayList<String>();
     
    	    if(args.length == 1){
    		FileReader in = new FileReader(args[0]);
    		sc = new java.util.Scanner(in);
    	    }
     
    	    else
    		sc = new java.util.Scanner(System.in);
     
    	    while(sc.hasNext())
    		list.add(sc.next());
     
    	    System.out.println(list);
    	}catch(Exception e){
    	    System.out.println(e.getMessage());
    	}
        }
    }

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Bon, j'ai pas vraiment d'idée mais comme il n'y a aucune réponse pour l'instant, je tente ... en vrac :

    La boucle hasNext se termine correctement lors de l'utilisation de l'entrée standard ? Sinon, y'aurait pas un flush ou un truc comme ça ?

    Ne faut-il pas faire un close du scanner ?


    Voilà
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #3
    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
    Points : 3 080
    Points
    3 080
    Par défaut
    .hasNextLine()
    .nextLine()

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par ®om
    .hasNextLine()
    .nextLine()
    En mettant ceci, ça ne marche toujours pas pour les mots tapés sur l'entrée standart

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Premium
    En mettant ceci, ça ne marche toujours pas pour les mots tapés sur l'entrée standart
    Si tu emploies hasNextLine et nextLine, la saisie ne sera détecté que lorsque l'utilisateur va cliquer sur Enter pour faire un retour à la ligne et donc valider une ligne.

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par wichtounet
    Si tu emploies hasNextLine et nextLine, la saisie ne sera détecté que lorsque l'utilisateur va cliquer sur Enter pour faire un retour à la ligne et donc valider une ligne.
    Lorsque je lis les mots sur l'entrée standart ou dans un fichier sans les mettre dans une ArrayList, ça marche mais lorsque j'insère les mots dans une ArrayList, ça ne marche que pour le fichier.
    Est-ce que quelqu'un saurait pourquoi ?
    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
    import java.io.*;
     
    public class Programme{
        public static void main(String [] args){
    	try{
    	    java.util. Scanner sc;
    	    //java.util.ArrayList<String> list = new java.util.ArrayList<String>();
     
    	    if(args.length == 1){
    		FileReader in = new FileReader(args[0]);
    		sc = new java.util.Scanner(in);
    	    }
     
    	    else
    		sc = new java.util.Scanner(System.in);
     
    	    while(sc.hasNextLine()){
    		//list.add(sc.nextLine());
    		System.out.println(sc.nextLine());
    	    }
     
    	    //System.out.println(list);
     
    	}catch(Exception e){
    	    System.out.println(e.getMessage());
    	}
        }
    }

Discussions similaires

  1. [Débutant] afficher des infos quand on entre des chiffres dans une case
    Par xingjing910 dans le forum VB.NET
    Réponses: 12
    Dernier message: 26/03/2012, 11h59
  2. afficher des valeur d'une B.D sur un treeview
    Par kensem dans le forum Windows Forms
    Réponses: 17
    Dernier message: 24/11/2010, 10h53
  3. Réponses: 0
    Dernier message: 23/11/2009, 12h15
  4. Afficher des mots plutot que des nombres
    Par rolan dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2007, 12h37
  5. Afficher des mots plutot que des nombres
    Par rolan dans le forum Access
    Réponses: 3
    Dernier message: 04/01/2007, 23h45

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