Manipuler des ensembles finis de type E quelconque - La classe Vector<E>
Résolu
Ghostleader2001
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Ghostleader2001 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Ghostleader2001 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour manipuler des ensembles finis d'éléments, par exemple A = {-4, 5, 2}
J'ai une classe "Ensemble<E>" qui permet d'ajouter, et de faire un tas de choses sur des éléments d'un ensemble A.
Mais lorsque j'essaie d'y ajouter des éléments, j'ai une exception : "java.lang.NullPointerException"
Ça fait un moment que je cherche le problème en vain !
Et le "Main" lorsque j'essaie d'afficher un ensemble
Est-ce que quelqu'un pourrait m'aider svp ? :)
Pour manipuler des ensembles finis d'éléments, par exemple A = {-4, 5, 2}
J'ai une classe "Ensemble<E>" qui permet d'ajouter, et de faire un tas de choses sur des éléments d'un ensemble A.
Mais lorsque j'essaie d'y ajouter des éléments, j'ai une exception : "java.lang.NullPointerException"
Ça fait un moment que je cherche le problème en vain !
public class Ensemble<E>
implements Cloneable {
private Vector<E> e; // elements d'un ensemble
//contructeur
public Ensemble() {
this.e = null;
}
//b - verife si x appartient à un ensemble
public boolean appartient(E x) {
if (this.e.contains(x))
return true;
else
return false;
}
//c - ajoute x a un ensemble
public boolean ajouter(E x) {
if (this.e.contains(x))
return false;
else
this.e.add(x);
return true;
}
}
Et le "Main" lorsque j'essaie d'afficher un ensemble
public class Main {
public static void main(String[] args) {
Ensemble<Integer> A = new Ensemble<Integer>(2);
A.ajouter(1);
A.ajouter(5);
System.out.println(A);
}
Est-ce que quelqu'un pourrait m'aider svp ? :)
A voir également:
- Manipuler des ensembles finis de type E quelconque - La classe Vector<E>
- É majuscule - Guide
- E exposant clavier ✓ - Forum Windows
- É majuscule excel ✓ - Forum Excel
- COMMENT METTRE UN INDICE OU UN EXPOSANT ✓ - Forum Bureautique
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
2 réponses
Bonjour,
Dans ton main tu fais
Il faut faire pareil avec
Remarque : la classe Vector ne devrait plus être utilisée depuis Java 2 ! Elle est à remplacer par ArrayList.
https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/util/Vector.html
"As of the Java 2 platform v1.2, this class was retrofitted to implement the List interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Vector is synchronized. If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector."
Dans ton main tu fais
Ensemble<Integer> A = new Ensemble<Integer>(2);tu as donc bien pensé à lier la référence A à un nouvel objet que tu construis.
Il faut faire pareil avec
Vector<E> eet le lier à un nouvel objet
new Vector<E>();mais pas à null.
Remarque : la classe Vector ne devrait plus être utilisée depuis Java 2 ! Elle est à remplacer par ArrayList.
https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/util/Vector.html
"As of the Java 2 platform v1.2, this class was retrofitted to implement the List interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Vector is synchronized. If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector."
Merci ça a marché !!