Partage
  • Partager sur Facebook
  • Partager sur Twitter

éliminer les chaines vides

en java

Sujet résolu
27 mars 2021 à 23:43:03

Bonsoir à tous ,

j'ai affiché aléatoirement deux mots qui se trouvent dans un fichier.txt mais à chaque fois le code affiche les mots vides avec le contenu de mon fichier .

voici mon code au dessous :

try {
          RandomAccessFile monFichier = new RandomAccessFile("monfichier.txt", "rw");
         long size=monFichier.length();
          int nb;
         Random r = new Random();
          nb = r.nextInt((int) size);
          monFichier.seek(nb);
          monFichier.readLine();
          String resultat = monFichier.readLine();
          jLabel1.setText(resultat);
}          catch (Exception e) {
               e.printStackTrace();
    }

et merci d'avance :) 
 

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 10:32:40

oussamaassili a écrit:

Bonsoir à tous ,

j'ai affiché aléatoirement deux mots qui se trouvent dans un fichier.txt mais à chaque fois le code affiche les mots vides avec le contenu de mon fichier .

voici mon code au dessous :

try {
          RandomAccessFile monFichier = new RandomAccessFile("monfichier.txt", "rw");
         long size=monFichier.length();
          int nb;
         Random r = new Random();
          nb = r.nextInt((int) size);
          monFichier.seek(nb);
          monFichier.readLine();
          String resultat = monFichier.readLine();
          jLabel1.setText(resultat);
}          catch (Exception e) {
               e.printStackTrace();
    }

et merci d'avance :) 
 

Ton fameux fichier et les mots aléatoires :lol:. Qu'est-ce-que tu n'arrives pas à faire cette fois ?

  • la boucle ?
  • tester chaine vide (doc) ?
  • tester une chaine qui ne contient que des espaces blancs (doc) ?



-
Edité par rybla 28 mars 2021 à 10:43:21

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 11:44:18

bonjour ,

Merci beaucoup pour votre réponse :lol::D

cette fois je veux  tester une chaîne dans le fichier  et n'affiche pas  espaces blancs qui sont les mots vides 

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 12:29:23

Je t'ai mis les liens vers la documentation. Tu as réussi à t'en sortir avec ou non ?
  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 13:00:15

Tu ne veux pas donner plus d'informations ? Qu'est-ce-que tu n'as pas compris dans la documentation ? Qu'est-ce-que tu n'arrives pas à faire (la boucle elle même ou la condition) ?

FAIRE
  mot = TROUVER_MOT()
TANT QUE mot EST VIDE

ici la méthode TROUVER_MOT c'est celle que tu as mise au dessus.


EDIT: Pour faire une boucle https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java/6451076-ecrivez-une-boucle-dans-vos-fonctions

-
Edité par rybla 28 mars 2021 à 13:02:23

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 23:13:15

Bonsoir ,

Merci pour votre réponse mais  mon problème n'est pas d'afficher les chaines vides mais d'éliminer les mots vides et le code au dessus affiche aléatoirement tout les chaines même si les chaines vides  mais mon objectif d'affiche seulement les mots non vides donc comment ajouter une structure qui s'arrête le boucle lorsqu'on trouve une chaine vide . 

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2021 à 23:46:58

J'ai compris ton besoin et je t'ai donné un début de réponse. Je te laisse me proposer un nouveau code Java pour que nous puissions en parler / échanger.

Tu dois chercher un peu et essayer. Ne compte pas sur moi pour te donner la réponse.

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2021 à 10:44:07

Bonjour ,

Merci pour votre réponse  :):D

j'ai essayé de faire ce code et il élimine les chaine vides 

try {
          RandomAccessFile monFichier = new RandomAccessFile("monFichier.txt", "rw");
         long size=monFichier.length();
          int nb;
         Random r = new Random();
          nb = r.nextInt((int) size);
          monFichier.seek(nb);
          monFichier.readLine();
          String resultat = monFichier.readLine();
         resultat.replaceAll("\\s", "");
          jLabel5.setText(resultat);
}          catch (Exception e) {
               e.printStackTrace();
               
    }

Mercii beaucoup :)

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2021 à 18:26:30

Si tu n'as plus de soucis, tu peux passer le sujet en résolu :p
  • Partager sur Facebook
  • Partager sur Twitter