Besoin d'un coup de main pour faire fonctionner mon programme

medhidu02 Messages postés 19 Statut Membre -  
medhidu02 Messages postés 19 Statut Membre -
Bonjour,
je n'arrive pas à bien faire fonctionner ce petit programme, tout fonctionne mais à chaque fois il me renvoi : nom invalide !
Pourriez vous me donner un coup de main s'il vous plait?

Voici le programme:
class Valentine extends Program {

void algorithm() {
String nom;

println("Entre ton prenom stp :)");
nom = readString();
if(nom == "valentine") {
println("coucou soeurette :)");
} else {
println("nom invalide !");
}
}
}


1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
L'opérateur == ne compare pas la valeur de deux objets, mais l'instance de ces objets or ici l'instance sera toujours différente, donc ça te renvoie faux.
Il faudrait qut u compares la valeur des objets, avec la méthode equals pour que cela puisse fonctionner :

if (nom.equals("valentine"))
0
medhidu02 Messages postés 19 Statut Membre
 
Merci beaucoup :)
0
medhidu02 Messages postés 19 Statut Membre
 
Encore une petite chose, j'ai rajouter la ligne suivante : While (!equals(nom,"valentine")) { entre la ligne nom = ... et if(... .Mais il m'indique un erreur que je n'arrive pas a corriger.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Il faut respecter les règles du Java, tu ne peux pas te permettre de faire du code approximatif.

J'ai écrit
nom.equals("valentine")
c'est à dire
objet.methode(argument)
c'est la base de la programmation objet. Si tu fais
equals(nom,"valentine")
ça ne veut plus rien dire.

Donc apprends le Java, tu as pléthore de cours et tutoriels sur internet, mais il te faut au moins les bases avant de commencer à coder...

Remarque :
while
et tous les mots clés Java s'écrivent en minuscule, "While" n'existe pas.
0
medhidu02 Messages postés 19 Statut Membre
 
D'accord je vais m'y mettre alors, merci.
0