Bonjour, j’ai un problème avec la mise en place d’Arraylist et son parcours
Pour simplifier, j’utilise 3 classes (ici amputer de lignes peu “importantes”) :
- une classe Joueur
- une classe MockDonnees : où l’on définit un ArrayList listeJoueurs de type Joueur
- une classe Authentification : où l’on fait appel à une méthode Inscription (qui fonctionne) et une méthode Connexion (faisant appel à une méthode de MockDonnées)
L’ajout d’un joueur dans l’ArrayList s’effectue parfaitement (j’ai pu le vérifier)
Par contre, je galère (et je pense pourtant que c’est simple) pour développer la méthode VerifIdentiteJoueur(login, motpasse).
Elle me retourne toujours false, alors qu’elle devrait retourner vrai
J’ai essayé avec les fonctionnalités :
- listeJoueurs.containes(monObjetJoueur) avec monObjetJouer = new Joueur(login, mot de passe) et j’obtient toujours flase
- la méthodeslisteJoueurs.get(i).getPassword(login)).equals(“password”)) et j’obtiens toujours false
Je ne sais pas comment faire et c’est important pour moi de trouver la solution. Peut être est-je mal utiliser les fonctionnalités détaillés précédemment. Merci beaucoup de m’aider pour que ma méthode VerifIdentiteJoueur fonctionne
Voici mes classes.
public class Joueur extends UnicastRemoteObject implements JoueurInterface {
Score monScore = new Score();
String loginJoueur;
String monPassword;
public Joueur() throws RemoteException {
super();
}
public Joueur(String login, String pass) throws RemoteException {
loginJoueur = login;
monPassword = pass;
}
public String getPassword(String login){
return this.monPassword;
}
}
public class MockDonnees {
static ArrayList < Joueur > listeJoueurs = new ArrayList < Joueur >();
public MockDonnees() throws RemoteException {
}
public static final void AjoutJoueur(String login, String password) throws RemoteException{
Joueur monJoueur = new Joueur(login, password);
listeJoueurs.add(monJoueur);
}
public static final boolean VerifIdentiteJoueur(String login, String password) throws RemoteException{
boolean trouve=false;
/* Solution 1 envisagé mais qui ne fonctionne pas
Joueur monJoueur = new Joueur(login, password);
trouve=listeJoueurs.contains(monJoueur);
*/
/* Solution 2 envisagé mais qui ne fonctionne pas
/*for (int i =0; i <= listeJoueurs.size(); i++)
{
if ((listeJoueurs.get(i).getPassword(login)).equals("password")){
trouve=true;
}
}
*/
return trouve;
}
public class Authentification extends UnicastRemoteObject implements
AuthentificationInterface {
public Authentification() throws RemoteException{
}
public void Inscription(String login, String password) throws RemoteException {
MockDonnees.AjoutJoueur(login, password);
}
public boolean Connexion(String login, String password) throws RemoteException {
boolean cnnx=MockDonnees.VerifIdentiteJoueur(login, password);
return cnnx;
}