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 :

Besoin d'aide Java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut Besoin d'aide Java
    slt!!
    je suis un debutant en java et voila un probleme que j'ai rencontré:
    j'ai une classe Heure{int heure;int minutes;
    Methodes:
    getHeures();
    getMinutes();}
    Mon premier probleme c'est comment lire par exemple un objet de type Heure au clavier.
    je veux demander a l'utilisateur de saisir l'heure et la minute.
    Mon second probleme
    j'ai une list arraylist des objet Heure et je ne sais pas comment Afficher les
    l'heure d'abord puis sous la forme H:mn(16 h 32 mn).
    merci

  2. #2
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    regarde dans la FAQ il y a un exemple.

    sinon dans la javadoc sur les classes system et scanner

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par moritan
    regarde dans la FAQ il y a un exemple.

    sinon dans la javadoc sur les classes system et scanner
    Merci pour Array c'est Bon mais mais pour la lecture au clavier ça marche pas tjrs.voici une partie du code:
    int t;
    int m;
    Heure h;
    BufferedReader entree = new BufferedReader(new InputStreamReader(System.in));

    System.out.println("entrer l'Heure:");
    t=entree.readLine();
    h.heures=t;
    System.out.println("entrer la Minute:");
    m=entree.readLine();
    h.minutes=m;

    il m'affiche erreur au niveau de l'affectation de t et m.merci

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Par défaut
    t et m sont des entiers, readLine retourne un String! java étant un langage fortement typé, une telle affectation est impossible. Il faut passer par un transtypage, dans ton cas ce serait par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    t = Integer.parseInt(in.readLine());
    où "in" est ton flux d'entrée!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par netangel
    t et m sont des entiers, readLine retourne un String! java étant un langage fortement typé, une telle affectation est impossible. Il faut passer par un transtypage, dans ton cas ce serait par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    t = Integer.parseInt(in.readLine());
    où "in" est ton flux d'entrée!
    Au fait j'ai essaié cette methode de convertion mais ça marche tjrs pas.merci

  6. #6
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Salut

    mais ça marche tjrs pas
    On ne va pas aller bien loin ! Parce que le code "fonctionne normalement". Tu peux nous dire ce qui ne va pas ?

  7. #7
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    C'est normal, la methode readLine() doit te retourner des String, tu ne peux pas les mettre dans des int.
    Faut les transformer.

    Et si je peux me permettre plutot que de faire ca :
    for(int i=0; i<list.size; i++)
    System.out.println(((Heure)list.get(i)).getHeure()+"h:"+((Heure)list.get(i)).getMinutes()+"mn");
    Si tu redefini la methode "toString()" de ta classe heure
    du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String toString()
    {
        return "Il est actuelement : " + heure + "h " + minutes + "mm" ; 
    }
    en fesant ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(int i=0; i<list.size; i++)
        System.out.println((Heure)list.get(i));
    c'est encore plus beau, ca deviens Objet

  8. #8
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par BainE
    c'est encore plus beau, ca deviens Objet
    ... et tellement moins modulaire ! Si tu veux faire 3 affichages différents... il te faut 3 méthodes différentes ! Désolé, mais de ce côté là, je préfère conserver une architecture un peu plus souple et définir ce que je veux au moment ou je le veux...

  9. #9
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par boinamib
    Merci pour Array c'est Bon mais mais pour la lecture au clavier ça marche pas tjrs.
    1) Merci d'utiliser la balise CODE.
    2) As-tu également regardé dans la Javadoc du côté de la classe Scanner ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Scanner sc = new Scanner(System.in);
         int i = sc.nextInt();

  10. #10
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Oula !!! Dois-je l'avouer... je n'ai jamais fait d'appli. en Java sans y coller une petite interface graphique par dessus. C'est tellement plus mieux

    Bon troll à part, il va falloir que tu nous en dises en tout petit peu plus car les choses ont évolués et tu ne le fera pas forcément de la même façon selon que tu code avec Java 5 ou 1.4 !

    Quelques pistes cependant. Pour la lecture, regarde du côté des classes qui héritent de la classes java.io.Reader. (InputStreamReader pour ne citer que celle-ci !)

    Ensuite pour ton ArrayList, j'ai du mal à comprendre ce que tu veux faire avec ton "l'heure d'abord" mais en gros tu fais un boucle dans laquelle tu te fais ton affichage...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i=0; i<list.size; i++)
        System.out.println(((Heure)list.get(i)).getHeure()+"h:"+((Heure)list.get(i)).getMinutes()+"mn");
    Et si tu es en Java 5... je te laisse chercher un peu quand même !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    merci les amis , je pense que j'ai trouvé le probleme .
    il fallait jouter:throws Exception apres la methode.en tout cas apres avoir mis ça il ne me sagnal plus d'erreur par contre j'ai rencontré un autre probleme.
    au comme je suis debutant j'ai inseré 3 classes dans la meme page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class heure{
     
     
     
    }
    class horaire{
     
     
    }
    classs test{public static void main(String[] args) {........}
     
    }
    c'est comme ça comment se presente ma squelette.
    lorsque j'execute il y'a un message d'erreur suivant:
    java.lang.NoSuchMethodError: main
    Exception in thread "main" .
    d'autre j'aimerai savoir comment faire chaque class a part et ne cliquer que pour la class test pour executer(class horaire a besoin de la class heure).merci

  12. #12
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Tout d'abord un nom de classe commence toujours par une majuscule (par convention ), ensuite essaye en déclarant ta classe test en public comme suit :
    et nomme ton fichier Test.java .


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par afrikha
    Tout d'abord un nom de classe commence toujours par une majuscule (par convention ), ensuite essaye en déclarant ta classe test en public comme suit :
    et nomme ton fichier Test.java .
    J'ai testé cette maniere mais c'est tjrs la meme chose.merci

  14. #14
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par boinamib
    J'ai testé cette maniere mais c'est tjrs la meme chose
    Tu veux dire que tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Test{
        public static void main(String args[]){
            Heure h = new Heure();
            System.out.println(h.toString());
        }
    }
    Et qu'il te dit toujours Exception in thread "main" java.lang.NoSuchMethodError: main ?

    [EDIT]1) Tu as suivi le lien vers la FAQ que je t'ai donné ? Il pointe directement sur la crétion/compilation d'une classe.
    2) Quels sont désormais tes autres fichiers ? Heure.java, Horaire.java... ? Quelle est la déclaration de package que tu leur as fait ?[/EDIT]

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par leminipouce
    Tu veux dire que tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Test{
        public static void main(String args[]){
            Heure h = new Heure();
            System.out.println(h.toString());
        }
    }
    Et qu'il te dit toujours Exception in thread "main" java.lang.NoSuchMethodError: main ?

    [EDIT]1) Tu as suivi le lien vers la FAQ que je t'ai donné ? Il pointe directement sur la crétion/compilation d'une classe.
    2) Quels sont désormais tes autres fichiers ? Heure.java, Horaire.java... ? Quelle est la déclaration de package que tu leur as fait ?[/EDIT]
    C'est comme ça que j'ai fait et ça marche pas.je n'ai que la class Heure.java
    Horaire.class.merci

  16. #16
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par boinamib
    merci les amis , je pense que j'ai trouvé le probleme .
    il fallait jouter:throws Exception apres la methode. en tout cas apres avoir mis ça il ne me sagnal plus d'erreur
    Ce n'est pas une Exception, mais une NumberFormatException (disons juste qu'ainsi tu feras une gestion des exceptions plus précise.)
    Sinon tu peux inclure l'appel à la méthode readLine() dans un bloc try/catch, vu que parseInt peut lever un NumberFormatException. Tu feras alors une gestion locale de ton exception... qui n'a pas forcément besoin de remonter vers la méthode appelante.

    Citation Envoyé par boinamib
    par contre j'ai rencontré un autre probleme.
    au comme je suis debutant j'ai inseré 3 classes dans la meme page:
    class heure{



    }
    class horaire{


    }
    classs test{public static void main(String[] args) {........}

    }

    c'est comme ça comment se presente ma squelette.
    lorsque j'execute il y'a un message d'erreur suivant:
    java.lang.NoSuchMethodError: main
    Exception in thread "main" .
    d'autre j'aimerai savoir comment faire chaque class a part et ne cliquer que pour la class test pour executer(class horaire a besoin de la class heure).merci
    Au risque de me répéter...

    Ensuite, tes trois classes sont dans un fichier, pas une page... et je suppose qu'il s'appelle heure.java
    Et dans ta classe heure, il n'y a pas de main()... alors c'est normal qu'il n'en trouve pas !
    Pour ne mettre qu'une classe par fichier... il suffit de n'en déclarer qu'une. Ensuite, mais je doute que ça te concerne, si tu n'es pas dans le même package, il te faut faire des import.
    Enfin google, les cours de DVP et la FAQ devraient te donner tous les renseignements relatif à la déclaration de classes...

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par leminipouce
    Ce n'est pas une Exception, mais une NumberFormatException (disons juste qu'ainsi tu feras une gestion des exceptions plus précise.)
    Sinon tu peux inclure l'appel à la méthode readLine() dans un bloc try/catch, vu que parseInt peut lever un NumberFormatException. Tu feras alors une gestion locale de ton exception... qui n'a pas forcément besoin de remonter vers la méthode appelante.

    Au risque de me répéter...

    Ensuite, tes trois classes sont dans un fichier, pas une page... et je suppose qu'il s'appelle heure.java
    Et dans ta classe heure, il n'y a pas de main()... alors c'est normal qu'il n'en trouve pas !
    Pour ne mettre qu'une classe par fichier... il suffit de n'en déclarer qu'une. Ensuite, mais je doute que ça te concerne, si tu n'es pas dans le même package, il te faut faire des import.
    Enfin google, les cours de DVP et la FAQ devraient te donner tous les renseignements relatif à la déclaration de classes...
    T'as parfairtement raison mon ami.en fait j'ai couper la methode main de la class heure dans la class test.mais comment faire a present si je laisse main dans la class heure est ce que en execution il reconnaitra les autres class qui sont apres la classe horaire.(dessous)comme le monde le squelette.merci bcp.

  18. #18
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par boinamib
    mais comment faire a present si je laisse main dans la class heure est ce que en execution il reconnaitra les autres class qui sont apres la classe horaire.(dessous)comme le monde le squelette.merci bcp.
    Ben je sais pas trop... peut-être qu'en essayant tu trouverais la réponse non ?

    Citation Envoyé par boinamib
    C'est comme ça que j'ai fait et ça marche pas.je n'ai que la class Heure.java
    Horaire.class.merci
    Et tu n'étais pas sensé avoir un fichier Test.java aussi ??? Sinon ta classe Test ne sert strictement à rien, et tu peux mettre directement le main dans ta classe Heure.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par leminipouce
    Ben je sais pas trop... peut-être qu'en essayant tu trouverais la réponse non ?

    Et tu n'étais pas sensé avoir un fichier Test.java aussi ??? Sinon ta classe Test ne sert strictement à rien, et tu peux mettre directement le main dans ta classe Heure.
    Au fait pour le package j'ai pas declaré. j'ai utilisé un package par défaut. Normalement il y avait une classe test au début mais a un moment je l'ai supprimé et quand j'ai réécrit le code de la classe test il ne me donne pas une classe test , je ne sais pas pourquoi. Quand ta main dans heure j'essaie et je vous mets au courant.

    merci bien.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 25
    Par défaut
    Citation Envoyé par leminipouce
    Ben je sais pas trop... peut-être qu'en essayant tu trouverais la réponse non ?

    Et tu n'étais pas sensé avoir un fichier Test.java aussi ??? Sinon ta classe Test ne sert strictement à rien, et tu peux mettre directement le main dans ta classe Heure.
    ça marche quand je mets main dans heure par contre dans ce cas je ne sais pas comment appeler une méthode de la classe horaire par exemple.

    encore un fois merci

Discussions similaires

  1. Besoin d'Aide Java RMI
    Par Invité dans le forum Java EE
    Réponses: 2
    Dernier message: 16/05/2011, 15h25
  2. Besoin d'aide java.lang.NullPointerException
    Par youness78 dans le forum Général Java
    Réponses: 8
    Dernier message: 10/11/2009, 16h11
  3. java besoin d'aide pour le label
    Par abbd dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2006, 11h03
  4. [Crypto] Besoin d'aide de cryptage en java
    Par djyb2003 dans le forum Sécurité
    Réponses: 3
    Dernier message: 08/03/2004, 18h13

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