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

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
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
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
dantosso Messages postés 20 Statut Membre
 
ah je vien de comprendre ..... merci bcp pour votre aide
0
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