Incrémenter compteur après appel de constructeur JAVA

Incrémenter compteur après appel de constructeur JAVA - Java - Programmation

Marsh Posté le 21-04-2014 à 13:13:09    

Bonjour à tous ! Je suis nouveau et je débute en Java car j'ai un projet à faire...
 
Alors voilà, j'ai pas mal avancé et là j'aimerais pouvoir incrémenter un id à chaque appel de constructeur et qu'il soit sauvegarder pour que quand on ouvre le programme, l'id revient à la même valeur que quand on l'a fermé pour pouvoir l'incrémenter à nouveau.  
 
Alors j'ai réussi à le faire, mais j'ai souvent des erreurs quand je change l'ordre de la méthode "sauvegarder" et "charger" dans le constructeur.
 
 
 
 
 
public class QCM implements Serializable {
 
 private int id_QCM=0;
 private boolean type;
 private List<Question> questionList;
 private String libelle;
 
 
 
 
 public QCM(boolean type, ArrayList<Question> questionList) throws IOException, ClassNotFoundException {
   
  this.type = type;
  setQuestionList(questionList);
  charger();
  sauvegarder();
   
   
   
   
   
   
   
 }  
 
 public QCM(boolean type, ArrayList<Question> questionList, int id_QCM) throws IOException, ClassNotFoundException {
   
  this.type = type;
  this.id_QCM=getId_QCM();
  setQuestionList(questionList);
  charger();
  sauvegarder();
   
   
  //charger();
   
   
   
 }  
 
 
  public void sauvegarder() throws IOException {
         ObjectOutputStream out;
         out = new ObjectOutputStream(new FileOutputStream(new File("EnregistrementDonnées\\ID_QCM.txt" )));
         out.writeObject(this);
         out.close();
    }
 
 
 
  public void charger() throws IOException,
         ClassNotFoundException {
     
  QCM nouveauQcm;  
     ObjectInputStream in;  
 
     
     in = new ObjectInputStream(new FileInputStream("EnregistrementDonnées\\ID_QCM.txt" ));
 
     
     nouveauQcm = (QCM) in.readObject();
     in.close();
 
     
     this.id_QCM=nouveauQcm.id_QCM+1;
     
 }
 
 
 
 
 
Merci d'essayer de m'aider, la moitié du projet repose là dessus. Je sais que ce n'est pas dur mais je vois pas l'erreur...
J'aurais très bien pu passer par une base de donné, mais ce n'est pas le but du projet.
 
Merci!!

Reply

Marsh Posté le 21-04-2014 à 13:13:09   

Reply

Marsh Posté le 21-04-2014 à 18:33:56    

Sauvegarde plutôt ton entier dans le fichier ou un autre objet stable que ton QCM


---------------
feedback
Reply

Marsh Posté le 22-04-2014 à 14:09:47    

Et je fais comment pour le sauvegarder et ensuite le récupérer pour l'injecter à nouveau ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed