Manipulation d'un hashtable

Résolu/Fermé
Java_qst - Modifié le 27 oct. 2017 à 20:14
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 27 oct. 2017 à 20:21
Bonjour,
J'ai crée un programme pour modéliser une classe d'étudiant. Chaque étudiant est caractérisé par son numEtudiant,nom,prenom,age et note. J'ai crée une variable statique de type hashtable pour y stocker les info de tous les étudiants sous la forme {'nomEtudiant1':L1,'nomEtudiant2':L2,etc} tq L c'est une Arraylist de la forme [nom,prenom,age,note]. Le probleme que j'ai c'est au niveau du Setter d'âge et de note
public void setAge(int age) {
  if (age<=24) {
   this.age = age;
   ((ArrayList)(dico_etudiants.get(numEtudiant))).set(2,age);
  }
  else
   System.out.println("L'étudiant "+nom+" "+prenom+" n'est pas accepté,il depasse l'âge réglementaire.");
  
 }
 public double getNote() {
  return note;
 }
 public void setNote(double note) {
  if (note>=0&¬e<=20) {
   this.note = note;
   ((ArrayList)(dico_etudiants.get(numEtudiant))).set(3,note);
   
  }
  else
   System.out.println("La note saisie de l'étudiant "+nom+" "+prenom+" est incorrecte.");

le compilateur ne m'affiche aucune erreur mais lors de l'éxecution si.
Qui a une idée sur ce qui me manque ici svp

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
27 oct. 2017 à 20:21
Bonjour,

Pour commencer, Hashtable ne devrait plus être utilisé, il faut utiliser soit HashMap soit une ConcurrentHashMap si tu as besoin de gérer plusieurs threads (voir la documentation de Hashtable)

Ensuite tu ne paramètres pas tes ArrayList, alors j'imagines que tu n'as pas paramétré non plus ton Hashtable, sinon tu n'aurais pas besoin de faire des cast à chaque ligne...

Enfin, tu parles d'une erreur à l'exécution, mais tu ne dis pas laquelle !
Il faudrait être plus précis.
0