Programeur debutant :java

dantosso Messages postés 20 Statut Membre -  
dantosso Messages postés 20 Statut Membre -
bonjour les genies du monde comment cava ???
svp je suis debutant en java (et en programation en general) et je lie actuellemnt un tuto qui utilise le 2eme code que je vais vous montrer , mais le premier que j'ai utiliser ne marche pas svp merci de me dire pourkoi le mien ne tourne pas en boucle meme si je tape 'O' ... voici les code :

mon code qui ne marche pas

package boucle;

import java.util.Scanner;

public class Boucle {

public static void main(String[] args) {

String prenom;
String reponse = "O";
Scanner sc = new Scanner(System.in);
while (reponse == "O"){
System.out.println("Quelle est votre prenom :");
prenom = sc.nextLine();
System.out.println("bonjour " + prenom + " comment cava?");
System.out.println("voulez vous reesayer : O/N");
reponse = sc.nextLine();

}
System.out.println("au revoir");

}

}

alors que ce code marche bien ;

package boucle;

import java.util.Scanner;

public class Boucle {

public static void main(String[] args) {

String prenom;
char reponse = 'O';
Scanner sc = new Scanner(System.in);
while (reponse == 'O'){
System.out.println("Quelle est votre prenom :");
prenom = sc.nextLine();
System.out.println("bonjour " + prenom + " comment cava?");
System.out.println("voulez vous reesayer : O/N");
reponse = sc.nextLine().charAt(0);

}
System.out.println("au revoir");

}

}

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    while (reponse == "O")

    Il ne faut pas comparer deux objets avec l'opérateur == mais avec la méthode equals.

    while (reponse.equals("O"))

    Ça fonctionne avec les caractères car ce sont des types primitifs.
    1
  2. dantosso Messages postés 20 Statut Membre
     
    merci ca marche ... mais svp quelles sont les 2 objet que je compare ???... je declare simplement un String !!!
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Un String c'est un objet... tu compares donc
      reponse
      et
      "O"
      deux String.
      0
    2. dantosso Messages postés 20 Statut Membre
       
      ah je vien de comprendre ..... merci bcp pour votre aide
      0
    3. dantosso Messages postés 20 Statut Membre
       
      je pensais qe je suis entrain de donner la valeur "O" a prenom mais avec while je compare si c bien ca .... merci
      0