Programeur debutant :java

Fermé
dantosso Messages postés 18 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 3 février 2015 - 12 févr. 2014 à 19:08
dantosso Messages postés 18 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 3 février 2015 - 12 févr. 2014 à 20:05
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
12 févr. 2014 à 19:22
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 18 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 3 février 2015
12 févr. 2014 à 19:56
merci ca marche ... mais svp quelles sont les 2 objet que je compare ???... je declare simplement un String !!!
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
12 févr. 2014 à 19:58
Un String c'est un objet... tu compares donc
reponse
et
"O"
deux String.
0
dantosso Messages postés 18 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 3 février 2015
12 févr. 2014 à 20:04
ah je vien de comprendre ..... merci bcp pour votre aide
0
dantosso Messages postés 18 Date d'inscription samedi 31 décembre 2011 Statut Membre Dernière intervention 3 février 2015
Modifié par dantosso le 12/02/2014 à 20:12
je pensais qe je suis entrain de donner la valeur "O" a prenom mais avec while je compare si c bien ca .... merci
0