Soucis avec un test d'égalité sur une chaine de caractère [Résolu]

- - Dernière réponse :  caranille - 15 févr. 2013 à 11:29
Bonjour, je suis confronté à un petit soucis je viens de faire un petit script qui demande des informations pour la création d'un compte et j'ai donc fait un test d'égalité pour vérifier si le mot de passe entré la première fois et le même que la seconde

Voici le code:

import java.util.Scanner;

public class Index 
{
public static void main(String[] args) 
{
System.out.println("Caranille NG 0.1");

//Demande du pseudo
System.out.print("Quelle pseudo souhaitez-vous utiliser ? :");
Scanner RecevoirPseudo = new Scanner(System.in);
String pseudo = RecevoirPseudo.nextLine();

//Demande du mot de passe
System.out.print("Mot de Passe :");
Scanner RecevoirMdp = new Scanner(System.in);
String Mdp = RecevoirMdp.nextLine();

//Demande de la confirmation du mot de passe
System.out.print("Confirmer le Mot de Passe :");
Scanner RecevoirMdpc = new Scanner(System.in);
String Mdpc = RecevoirMdpc.nextLine();

//Demande de l'adresse E-mail
System.out.print("Votre adresse E-mail :");
Scanner RecevoirEmail = new Scanner(System.in);
String Email = RecevoirEmail.nextLine();

if (Mdp == Mdpc)
{
Compte caranille = new Compte(pseudo, Mdp, Email, 120, 120, 20, 20, 10, 10, 10, 0, 0, 0, 0, "Admin");
System.out.println("Compte crée avec succès, voici un récapitulatif");
System.out.println("Pseudo : " + Compte.Pseudo);
System.out.println("Email : " + Compte.Email);
System.out.println("PV : " + Compte.PV_Restant + "/" + Compte.PV_Maximum);
System.out.println("PM : " + Compte.PM_Restant + "/" + Compte.PM_Maximum);
System.out.println("Force : " + Compte.Force);
System.out.println("Magie : " + Compte.Magie);
System.out.println("Defense : " + Compte.Defense);
System.out.println("PO : " + Compte.PO);
System.out.println("PC : " + Compte.PC);
System.out.println("Chapitre de l'histoire : " + Compte.Chapitre);
System.out.println("Mission réussies : " + Compte.Mission);
System.out.println("Status : " + Compte.Status);
}
else
{
System.out.println("Les deux mots de passes ne sont pas identiques");
}
}

}


Voici la classe Compte:

public class Compte 
{
static String Pseudo;
static String Mdp;
static String Email;
static int PV_Restant;
static int PV_Maximum;
static int PM_Restant;
static int PM_Maximum;
static int Force;
static int Magie;
static int Defense;
static int PC;
static int PO;
static int Chapitre;
static int Mission;
static String Status;

public Compte()
{
System.out.println("Creation d'un personnage vide :o");
}

public Compte(String pseudo, String mdp, String email, int pv_restant, int pv_maximum, int pm_restant, int pm_maximum, int force, int magie, int defense, int pc, int po, int chapitre, int mission, String status)
{
Pseudo = pseudo;
Mdp = mdp;
Email = email;
PV_Restant = pv_restant;
PV_Maximum = pv_maximum;
PM_Restant = pm_restant;
PM_Maximum = pm_maximum;
Force = force;
Magie = magie;
Defense = defense;
PC = pc;
PO = po;
Chapitre = chapitre;
Mission = mission;
Status = status; 		
}
}


Et lors de l’exécution du programme malgrés que la variable Mdp et Mdpc soit identique ça me met le message comme quoi les deux mots de passe ne sont pas identiques
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
278
3
Merci
Salut,

if (Mdp Mdpc) retournera toujours faux, les String sont des objets, ce sont donc les références mémoires qui sont comparées avec le.

Pour t'en sortir, tu peux utiliser .equals : if (Mdp.equals(Mdpc))

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
0
Merci
Je te remercie énormement.

Cordialement, Jérémy

Sujet Résolu
Commenter la réponse de caranille

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.