Se connecter

Informatique

Programmation

Sujet : (NOOB) Débutant java pour une aide plz :)
1
smoken3123
Niveau 7
25 mars 2017 à 21:44:39

Bonjour, j'aimerai avoir de l'aide concerant le language java :)
J'ai débuté ce language ce matin et je me confronte donc à un petit problème :/
Ce problème étant que j'aimerai perfectionné le jeu du plus ou moins que j'ai confectionné.

J'aimerai donc introduire une question au début du programme qui demande de tapper "Oui" ou "Non" si l'on veut entrer dans le jeu ou tout simplement quitter le jeu (Oui c'est useless mais c'est pas grave x))

J'ai donc fait ça au début

http://pastebin.com/NPXHp0u4

Je tiens à dire que je n'ai pas encore fini cette "fonction" pour demander si oui ou non il veut jouer, c'est juste la premiere phase ^^

Merci beaucoup d'avance de l'aide :o :)

Grimmys
Niveau 10
25 mars 2017 à 23:59:34

Salut,

Heu... Excuse, mais je comprend pas trop...

Au début, tu parles de " petit problème ", mais finalement à la fin tu nous dis simplement que tu n'as pas fini la fonction (donc en soi normal que l'effet désiré ne soit pas rempli).

Du coup, quel est ce petit problème ? Quel genre d'aide recherches-tu ? :(

Enfin, pour commenter l'état actuel de ta fonction :

A quoi servent RC et RF ? A mes yeux, je ne vois pas du tout ce que tu comptes en faire...
Niveau " convivialité " je trouve pas ta gestion d'entrée assez poussée : si l'utilisateur entre quelque chose d'erroné, tu ne lui indiques pas pourquoi ça ne va pas, tu te contentes de reposer la même question, comme si la réponse n'avait pas été prise en compte...

J'imaginerais plutôt quelque chose du genre pour un contrôle de saisie :


System.out.println("Voulez vous jouer au jeu du PlusOuMoins (Oui ou Non) ?");
 R = clavier.nextLine();
while ((R != "Oui") && (R != "Non")){
            System.out.println("Saisie incorrecte : merci de répondre par oui ou par non.");
            R = clavier.nextLine();

Aussi, tu t'étais trompé sur ta condition algébrique.
C'est pas grave, elle était pas si simple et tu n'as peut-être pas eu de réel cours d’algèbre (je ne sais pas quel est ton niveau de formation), mais en français ce que tu cherches à faire est : " redemander la saisie tant que celle ci est différente de Oui et de Non ". Puisque là, la condition que tu as écris se traduit en algèbre ainsi :

R différent de "Oui" OU R différent de "Non"

En gros, si R vaut "Oui", la condition sera tout de même évalué à Vrai (et donc le programme continuera de boucler), puisque même si R n'est pas différent de "Oui", il est bien différent de "Non".

Bref, tu as écris une condition qui ne peut être fausse que si R vaut à la fois "Oui", et à la fois "Non", ce qui est impossible...

Candystand
Niveau 10
26 mars 2017 à 00:01:40

Tu ne peux pas comparer une deux chaînes de caractères avec les opérateurs == ou !=

En fait ces opérateurs vont comparer les valeurs des adresses de l'instance de String dans le cas présent. Donc c'est comme si tu comparais des valeurs comme 0xAAAAA et 0xBBBBB.

Pour comparer les valeurs de 2 String, utilise la methode equals() qui retourne un booléen

Ca donnerait un truc du genre R.equals("Oui")

Grimmys
Niveau 10
26 mars 2017 à 00:16:23

Aussi j'avais pas remarqué, je pensais qu'il utilisait une classe style clavier implémentée exprès pour lui simplifier la vie, mais visiblement il semble utiliser une instance de Scanner....

Plus simplement l'auteur, cherche à télécharger une classe type Clavier (de nombreux tutos en fournissent), cela t'aidera pour commencer, car la manipulation des saisies n'est pas très simple. [[sticker:p/1jnh]]

smoken3123
Niveau 7
26 mars 2017 à 00:44:20

Merci beaucoup de vos réponses.

Le 26 mars 2017 à 00:01:40 Candystand a écrit :
Tu ne peux pas comparer une deux chaînes de caractères avec les opérateurs == ou !=

En fait ces opérateurs vont comparer les valeurs des adresses de l'instance de String dans le cas présent. Donc c'est comme si tu comparais des valeurs comme 0xAAAAA et 0xBBBBB.

Pour comparer les valeurs de 2 String, utilise la methode equals() qui retourne un booléen

Ca donnerait un truc du genre R.equals("Oui")

Je pense que c'est ça qu'il me fallait, je ne savais pas qu'il fallait faire comme ça.
Je testerai ça demain.
Et pour informations je n'ai aucune formation, je suis encore au lycée ^^

Merci encore de vos réponses :o

1
Sujet : (NOOB) Débutant java pour une aide plz :)
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page