Bonjour je travaille sur un programme qui créé et modifie un Journal. J'ai la classe abstraite journaliste et des sous-classes de journalistes. Je dois pouvoir ajouter des journalistes et obtenir la liste des journalistes et leurs propriétés. J'ai écrit un main qui me renvoie un message d'erreur.
Je pense surtout que le problème vient du fait que le nombre de Journalistes ne s'incremente pas correctement ou que j'ai mal déclaré les tableaux de journaliste.
La classe Journal
La classe journaliste
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 package Classes; public class Journal { private String nom; private Journaliste[] journalistes=new Journaliste [50]; private int nJournalistes=0; public Journal(String nom, Journaliste[] journalistes){ this.nom=nom; this.journalistes=journalistes; } public boolean addJournaliste(Journaliste j){ for(int i=0;i<journalistes.length;i++){ if (journalistes[i]==j){ System.out.println("Erreur : "+j.getNom()+" déjà présent !"); return false; } else journalistes[nJournalistes + 1]=j; System.out.println("Embauche de "+j.getNom()); nJournalistes++; } return true; } public String toString(){ String res = "Au journal "+nom+ " sont employés : \n"; for(int i=0;i<nJournalistes;i++){ res+= journalistes[i].toString()+" pour la rubrique "+journalistes[i].getRubrique(); } return res; } }
Mon main
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 package Classes; public abstract class Journaliste { private String nom; private String rubrique; protected Journaliste(String nom, String rubrique){ this.nom=nom; this.rubrique=rubrique; } public abstract String who(); public String toString(){ return nom+" : "+who(); } public String getRubrique(){ return rubrique; } public String getNom(){ return nom; } }
Et voici le message d'erreur
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 package Test; import Classes.*; public class prog { public static void main(String[] args) { String nom= "Science Today"; Journaliste[] journalistes = null; Journal d = new Journal(nom,journalistes); Journaliste TP = new Reporter("Thomas Pesquet","Espace"); Journaliste RO = new Reporter("Raymond Oliver","Cuisine"); d.addJournaliste(TP); d.addJournaliste(RO); String r= d.toString(); System.out.println(r); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Exception in thread "main" java.lang.NullPointerException at Classes.Journal.addJournaliste(Journal.java:12) at Test.prog.main(prog.java:11)
Partager