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

  1. 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
    1. medhidu02 Messages postés 19 Statut Membre
       
      Merci beaucoup :)
      0
    2. 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
    3. 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
    4. medhidu02 Messages postés 19 Statut Membre
       
      D'accord je vais m'y mettre alors, merci.
      0