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 :

problème de classe


Sujet :

avec Java

  1. #1
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut problème de classe
    re-bonjour tous ,
    pour faire court 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    import java.util.Scanner;
    import java.util.LinkedList;
    import java.util.ListIterator;
     
    public class Agenda {
        public static void main(String[] args) {
     
            Scanner sc = new Scanner(System.in);
            LinkedList<Evenement> l = new LinkedList<Evenement>();
            //Evenement event;
            char choix;
            while(true) {
                System.out.println("***************  MENU  ******************");
                System.out.println("1) Creer un nouvel Evènement.");
                System.out.println("2) Ouvrir une base.");
                System.out.println("3) Fermer une base.");
                System.out.println("4) Consulter une base.");
                System.out.println("5) Enregistrer un Evènement.");
                System.out.println("6) Effacer un Evènement.");
                System.out.println("7) Quitter ce logiciel");
                System.out.println("8) Visualiser les Evènements.");
     
                System.out.print("Votre choix : ");
                choix = sc.nextLine().charAt(0);
     
                switch(choix) {
                        case '1':
                        l.add(creation(sc));
                        break;
                        case '6':
                        break;
                        case '7':
                        break;
                        case '8':
                        visualisation(l);
                        break;
                    default:
                    break;
                }
                if(choix == '7') break;
            }
        }
        static void visualisation(LinkedList l) {
            ListIterator li = l.listIterator();
            while(li.hasNext()) {System.out.println(li.next().toString());}
        }
        static Evenement creation(Scanner sc) {
            Evenement tmp = new Evenement(sc);
            return tmp;
        }
    }
    class Evenement {
        Day d;
        int heure,minute;
        String lieu,description;
        private static int nbInstances = 0;
     
        public Evenement(Scanner sc) {
            Day d = new Day(sc);
            System.out.println("******************************************************************************");
            System.out.println("************************  CREATION DE L'EVENEMENT  ***************************");
            System.out.println("******************************************************************************");
            System.out.print("*********** heure ? ");
            this.heure = sc.nextInt();
            sc.nextLine();
            System.out.print("**************** minute ? ");
            this.minute = sc.nextInt();
            sc.nextLine();
            System.out.print("********************* lieu ? ");
            this.lieu = sc.nextLine();
            System.out.print("************************** description ? ");
            this.lieu = sc.nextLine();
            nbInstances++;
            System.out.println(nbInstances + " évènement(s) crée(s)");
        }
        public String toString() {
            String str = lieu+" le "+d.toString()+" à "+heure+"h"+minute+" : "+description;
            return str;
        }
        public int getHeure() { return this.heure; }
        public int getMinute() { return this.minute; }
        public String getLieu() { return lieu; }
        public String getDescription() { return description; }
    }
    class Day {
        int jour,mois,annee;
     
        public Day(Scanner sc) {
            String date;
            System.out.println("******************************************************************************");
            System.out.println("****************************  CREATION DE LA DATE  ***************************");
            System.out.println("******************************************************************************");
            System.out.print("*********** jour ? ");
            this.jour = sc.nextInt();
            sc.nextLine();
            System.out.print("**************** mois ? ");
            this.mois = sc.nextInt();
            sc.nextLine();
            System.out.print("********************* année ? ");
            this.annee = sc.nextInt();
            sc.nextLine();
        }
        public String toString() {
            String str = jour+"/"+mois+"/"+annee;
            return str;
        }
    }
    Et voilà l'erreur :
    Exception in thread "main" java.lang.NullPointerException
    at Evenement.toString(Agenda.java:85)
    at Agenda.visualisation(Agenda.java:53)
    at Agenda.main(Agenda.java:43)

    Quelqu'un peut-il me dire ce qu'il se passe !

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    c'est le genre de trucs où tu t'en sortiras mieux quand tu apprendras à utiliser un débogueur. Pour l'instant, et vu que tu n'utilises pas d'IDE non plus qui t'aurait signalé une erreur probable, effectivement c'est pas si surprenant d'avoir besoin d'aide.

    Donc, ta classe Evenement, dedans tu déclares une variable Day d. Pour mémoriser la date. Ça a l'air correct, on a besoin de ça, oui. Pas de problème.

    Et dans son constructeur, tu déclares une nouvelle variable de même nom : Day d = new Day(sc); .
    Ce n'est probablement pas ce que tu voulais. Tu avais probablement l'intention d'initialiser la variable Day d que tu avais déjà déclarée dans la classe, pas en créer une autre qui n'existe que dans le constructeur.

    Ce sera donc d = new Day(sc); . Pas de déclaration de variable. Juste une assignation à une variable qui existe déjà.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Problème de classe.
    Par maminova77 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 21h39
  2. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 10h20
  3. Problème de classe
    Par DeusXL dans le forum DirectX
    Réponses: 15
    Dernier message: 04/12/2005, 14h37
  4. Problème de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/10/2005, 17h49
  5. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 22h51

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