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 :

Gérer une médiathèque.


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut Gérer une médiathèque.
    fffff

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    D'après le message tu as saisi "ferme" au clavier alors qu'un nombre était attendu.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse En fait j'ai bien pigé ce que veux dire l'erreur, mais je ne comprends pas pourquoi elle se produit, puisque il n'y a aucun endroit où je saisi une chaine et que je la rentre dans une variable entière et inversement.


    Il me dit que j'ai saisi ferme, parce que dans cet exemple, j'ai saisi "Martine à la ferme" pour le titre d'un Document. Comme précisé plus haut, si j'avais tapé "Martine"(un seul mot), ça aurait marché, mais là c'est un titre composé de plusieurs mots et là ça bug...

  4. #4
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    J'ai testé ton code et il fonctionne parfaitement ! J'ai toutefois utiliser une classe de ma composition (ta classe Clavier) pour lire les entrés, puisque tu ne l'avais pas fournis.
    Le fait est que tu entre une chaine là où un entier est attendu.

    Il y a une erreur sur la recherche (l'opérateur == ne permet pas de tester une égalité de chaine).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    Tout d'abord merci pour ton aide, pour le fichier clavier, c'est un fichier fourni par l'iut qu'on utilise depuis le début de l'année, pour les saisies clavier, il a toujours bien marché, je te le met en fichier joint. Pour la recherche, pas de problème de "==", j'ai ma méthode qui retourne vrai si la cote est présente, et dedans il y a bien un "==". J'espère avoir loupé quelquechose et que tu as raison, met moi le bout de code fautif pour que je vois ce que tu veux dire

    Enfin, je me répète, mais je ne vois aucun endroit où j'entre une chaine alors qu'un entier est attendu, ça ne le fait que quand ma chaine(que j'entre pour le titre du document à créer) que quand ma chaine fait plusieurs mois, sinon ça marche très bien...

    Merci encore
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Citation Envoyé par jujusous3 Voir le message
    Tout d'abord merci pour ton aide, pour le fichier clavier, c'est un fichier fourni par l'iut qu'on utilise depuis le début de l'année, pour les saisies clavier, il a toujours bien marché
    Sans doute.

    Citation Envoyé par jujusous3 Voir le message
    Pour la recherche, pas de problème de "==", j'ai ma méthode qui retourne vrai si la cote est présente
    Non. Mais peut-être ne parlons nous pas de la même chose. Le problème est dans ta méthode aCetteCote(String c) de la classe Document. Tu teste une égalité entre deux String avec l'opérateur ==, et cela retournera toujours false. Ce qui est confirmé par l'expérimentation, car la recherche renvoie null alors que la "cote" a bien été enregistré dans la médiathèque.

    Citation Envoyé par jujusous3 Voir le message
    Enfin, je me répète, mais je ne vois aucun endroit où j'entre une chaine alors qu'un entier est attendu
    Si tu as une exception c'est que cela est. Le fait de voir ou ne pas voir est autre chose.

    Citation Envoyé par jujusous3 Voir le message
    ça ne le fait que quand ma chaine(que j'entre pour le titre du document à créer) que quand ma chaine fait plusieurs mots, sinon ça marche très bien...
    Je n'obtiens pas ce comportement, mais au contraire cela fonctionne parfaitement, quelque soit le nombre de mot du titre.

    Nous sommes bien en train de parler du même code ? Tu ne testerais pas un code différent de celui que tu nous a fournis ?

    Sinon, indique toutes les entrés que tu fait pour arriver à l'exception, que l'on puisse reproduire exactement la même erreur.

  7. #7
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Je viens te tester ta classe Clavier, et si c'est elle qui est en cause.

  8. #8
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Tu doit utiliser la méthode lireLigne() et non lireString().

    La javadoc indique :
    Les espaces, tabulations et sauts de lignes sont "passés". La lecture attend l'arrivée d'autres caractères dans le buffer. En particulier, on ne peut pas saisir une chaîne vide, ou une chaîne avec des espaces.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ti = Clavier.lireLigne();

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    Merci infiniment ! En effet, dans ma méthode aCetteCote, en mettant la premièrechaine.equals(ladeuxièmechaine) à la place de "==" ça fonctionne. C'est marrant, c'est une erreur grossière, dont je ne me rappelait plus du tout...

    Pour ce qui est de la saisi Clavier, en fait je me suis rappellé que la classe Clavier que j'avais provenait d'un site internet quelconque et donc ce n'était pas la même qu'à l'iut, j'ai trouvé celle de l'iut, et là même en mettant lireString, ça fonctionne avec plusieurs mots, enfin voila, tout marche


    Merci encore pour votre aide rapide et surtout pertinente !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    J'ai un nouveau petit soucis, j'ai ajouté pas mal de choses dans mon programme, ce qui fait que ma main dans GestionM, j'ai pas mal de menu et sous menu. Et il se trouve que je voudrais pouvoir revenir au menu principal quand je suis dans un sous menu, autrement dit, relancer la main. Mais on ne peut pas apeller la fonction main() dans la main si ?

    Et autre chose, si je sors du programme et que je le relance, rien n'est sauvegardé, comment faire pour que les valeurs dans mes listes (documents ajoutés...) soit réellement sauvegardés ?

    Merci encore

  11. #11
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Citation Envoyé par jujusous3 Voir le message
    J'ai un nouveau petit soucis, j'ai ajouté pas mal de choses dans mon programme, ce qui fait que ma main dans GestionM, j'ai pas mal de menu et sous menu. Et il se trouve que je voudrais pouvoir revenir au menu principal quand je suis dans un sous menu, autrement dit, relancer la main. Mais on ne peut pas apeller la fonction main() dans la main si ?
    C'est ton algo qui devrait te permettre de revenir à ton menu principal Prévois juste un nombre (ou une lettre) qui permet de passer du sous menu au menu.

    Citation Envoyé par jujusous3 Voir le message
    si je sors du programme et que je le relance, rien n'est sauvegardé, comment faire pour que les valeurs dans mes listes (documents ajoutés...) soit réellement sauvegardés ?
    La sérialisation est un mécanisme de sauvegarde des objets, tu as un bon tuto sur le site. La désérialisation est le mécanisme inverse.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    ba en fait j'ai tout claqué les diffèrents menus dans ma main, donc je n'ai pas de méthode pour le menu principal, de méthode pour le sous menu1, une autre pour sous menu2..., tout est imbriqué dans la main.

    Je veux bien te mettre ma classe GestionM, mais je te préviens, c'est un peu le bor*** , avec tous ces noms de variables mis un peu à la va vite...

    Je t'en voudrais pas si tu comprends rien
    Fichiers attachés Fichiers attachés

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    en fait c'est possible de copier tout le code avec le menu principal dans une méthode, mais j'ai peur d'avoir des problèmes style static non static qui vont mettre le bazar...

  14. #14
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Ce sont tes cours d'algo qui vont t'aider sur ce coup là.

    Voici un exemple simple :
    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
    import java.util.Scanner;
     
    public class Test {
     
    	public static void main(String[] args) {
    		char c = ' ';
    		while (c != 'q') {
    			System.out.println("Menu principal");
    			System.out.println("1. sous menu 1");
    			System.out.println("2. sous menu 2");
    			System.out.println("q. quitter");
    			Scanner sc = new Scanner(System.in);
    			c = sc.nextLine().charAt(0);
    			if (c == '1') {
    				while (c != 'r') {
    					System.out.println("Sous menu 1");
    					System.out.println("r. retour");
    					c = sc.nextLine().charAt(0);
    				}
    			} else if (c == '2') {
    				while (c != 'r') {
    					System.out.println("Sous menu 2");
    					System.out.println("r. retour");
    					c = sc.nextLine().charAt(0);
    				}
    			}
    		}
    	}
     
    }

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    t'es vraiment le meilleur, j'ai mis du temps à comprendre, je pensais que j'allais devoir modifier beaucoup de choses, et pour finir, j'ai simplement rajouter un while tout autour et ça marche à merveille, merci encore

  16. #16
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    De rien.

    Citation Envoyé par jujusous3 Voir le message
    t'es vraiment le meilleur
    Hé non, je ne suis pas le meilleur mais merci quand même.

    Bon courage pour tes études.
    @+

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

Discussions similaires

  1. insérer et gérer une animation flash
    Par zorglub88 dans le forum MFC
    Réponses: 13
    Dernier message: 26/05/2005, 16h11
  2. gérer une base de donnée MySql via C++
    Par thiane dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 19/05/2005, 16h19
  3. [dbase] Possibilité de gèrer une base via c++?
    Par WriteLN dans le forum C++
    Réponses: 6
    Dernier message: 08/11/2004, 17h27
  4. Gérer une barre d'outils
    Par Jean Claude BOULET dans le forum Access
    Réponses: 2
    Dernier message: 07/10/2004, 22h54
  5. [ODBC][WINDOWS] gérer une base via ODBC
    Par narmataru dans le forum Windows
    Réponses: 2
    Dernier message: 19/12/2003, 13h36

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