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

Java Discussion :

Probleme d'execution en java?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut Probleme d'execution en java?
    Bonsoir
    j'ai un mini projet à faire en java
    bon j'ai une fct de saisie qui permet la saisie des infos d'une personne puis d'enregister les infos sur un fichier 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
    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
     
      public void Saisie(){
        while (true) {
            try {
             // FileWriter fw = new FileWriter(nomFichier, true);
             PrintWriter fw = null;
          fw = new PrintWriter(new FileWriter( "C:\\Users\\souad\\Desktop\\miniProjet\\personne.txt", true), true);
              System.out.println("Entrer le nom:");
              String n = Clavier.lireString();
              System.out.println("Entrer le Prenom:");
              String p = Clavier.lireString();
     
              System.out.println("Entrer le cne:");
              String c = Clavier.lireString();
              Personne per = new Personne(n, p, c);
              System.out.println(per.toString());
     
              try {
     
                if (!Recherche(per.getCne())) {
                		fw.write(n);
                      fw.write(" ");
                      fw.write(p);
                      fw.write(" ");
                      fw.write(c);
                      fw.close();
                  System.out.println("Ajout réussi");
                  System.out.println("**************");
     
     
                }
                else {
                  System.out.println("/////////////**************");
                  System.out.println(per.getCne() + " déjà existant");
     
                  throw new Exception("gggggg");
                }
     
              }
              catch (ArrayIndexOutOfBoundsException e) {
                System.out.println(e.getMessage());
              }catch(Exception e)
              {  
              }
     
     
            }
            catch (FileNotFoundException e) {
              e.printStackTrace();
            }
            catch (IOException e) {
              e.printStackTrace();
            }
            break;
        }
     
      }
    mais avant d'enregistrer il faut verifier si la personne exsite deja alors j'ai fait une fct recherche qui fait ça

    mais le probleme c'est que dans l'excution
    il me donne les infos que j'ai entré puis
    1
    exemple
    votre nom:
    salwa
    votre prenom
    amina
    votre cne
    123
    salwa amina 123
    1
    mais le message que j'ai déja ecrit s'affiche pas
    ni le message qui te permet de dire que cette personne exsite
    je sais que j'ai un probleme dans la fct de saisie mais j'arrive pas à le voir je me suis fatigué si quelqu'un peut me le dire

  2. #2
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Bonjour,
    le probleme se situe au niveau de ta boucle while qui ne sert à rien: quoi qu'il arrive tu passera toujours par le break, donc tu ne bouclera qu'une fois.

    Après je ne sais pas comment le reste de ton programme et ta fonction "Recherche" sont implémentées mais il y a déjà un problème de conception à ce niveau

    Ah oui aussi: la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    throw new Exception("ggggg");
    n'apparaitra jamais puisque puisque cette exception est catchée à la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    catch(Exception e)
    {}
    Dans ce catch, tu n'affiches pas le message de l'exception...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    Elle ne sert à rien ta boucle !!! En plus while(true) c'est une JavaJoke ;-).

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut
    voilà j'ai rectifié mais cette fois ci le probleme si j'entre un cne qui exsite déja il l'ajoute
    voilà 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
      public void Saisie(){
     
            try {
     
              PrintWriter fw = new PrintWriter(new FileWriter( "C:\\Users\\souad\\Desktop\\miniProjet\\personne.txt", true), true);
              System.out.println("Entrer le nom:");
              String n = Clavier.lireString();
              System.out.println("Entrer le Prenom:");
              String p = Clavier.lireString();
              System.out.println("Entrer le cne:");
              String c = Clavier.lireString();
              Personne per = new Personne(n, p, c);
              System.out.println(per.toString());
     
     
                if (!Recherche(per.getCne())) {
                	fw.println(n +" "+ p+  " "+c + " " +"est inscrit" + "   ");
                    fw.close();
                 System.out.println("Ajout réussi");
                 }
                else {
                	System.out.println(per.getCne() + " déjà existant");	
     
                }
     
     
     
            }
            catch (ArrayIndexOutOfBoundsException e) {
                System.out.println(e.getMessage());
              }
     
     
            catch (FileNotFoundException e) {
              e.printStackTrace();
            }
            catch (IOException e) {
              e.printStackTrace();
            }
     
     
            catch(Exception e)
              {  
            	  System.out.println(e.getMessage());
              }
     
      }
    Voici la fonction de recherche




    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
    public boolean Recherche(String search)  {
        Personne per = null;
        String Ligne = null;
        String[] Info = null;
        try{
        BufferedReader fic = new BufferedReader(new FileReader(
            "C:\\Users\\souad\\Desktop\\miniProjet\\personne.txt"));
     
        while ( (Ligne = fic.readLine()) != null) {
          Info = Ligne.split(" ");
          per = (new Personne(Info[0], Info[1], Info[2]));
          if (Info[2].equals(search)) {
     
            return true;
     
          }
        }
        }
        catch(ArrayIndexOutOfBoundsException e)
        {
     
        }catch(IOException e)
        {
     
        }
        per = null;
        return false;
      }

  5. #5
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Re,

    je pense que la le mieux serait de faire tourner le programme en mode debug si ton éditeur te le permet (comme Eclipse par exemple)

    Sinon je modifierai la fonction Recherche comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    System.out.println("Je cherche le cne "+search);
    while ( (Ligne = fic.readLine()) != null) {
          Info = Ligne.split(" ");
          per = (new Personne(Info[0], Info[1], Info[2]));
          System.out.println("Je compare avec "+Info[2]);
          if (Info[2].equals(search)) {
     
            return true;
     
          }
        }
    ce qui te permettrai de voir pourquoi la comparaison n'est jamais vraie

  6. #6
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut
    re
    j'ai placé le code que tu ma donné le resltat c'etait

    je cherche le cne 67
    ajout reussi
    je cheche le cne 67

    et pourtant il exsiste déja

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

Discussions similaires

  1. Probleme pour executer java.exe depuis le code !
    Par Battosaiii dans le forum C#
    Réponses: 1
    Dernier message: 21/11/2007, 12h55
  2. problem d'execution java/mysql
    Par mora092 dans le forum JDBC
    Réponses: 5
    Dernier message: 22/10/2007, 14h50
  3. Probleme d'execution du code java
    Par betacrack dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2006, 11h40
  4. java probleme d'execution
    Par foulla002 dans le forum Langage
    Réponses: 4
    Dernier message: 26/07/2006, 09h05
  5. [Process] Probleme d'execution d'un prog c dans un prog java
    Par Elmilouse dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/06/2004, 14h26

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