Probleme avec la commande Scanner

Signaler
Messages postés
1
Date d'inscription
jeudi 22 avril 2021
Statut
Membre
Dernière intervention
22 avril 2021
-
Messages postés
6
Date d'inscription
jeudi 11 février 2021
Statut
Membre
Dernière intervention
25 avril 2021
-
Bonjour,
je voulais créer un petit programme pour m'entrainer, une sorte de petit quizz et si la personne a bon alors c'est une bonne réponse sinon je lui marque la réponse qui était bonne. Je bloque car même quand la réponse est bonne le programme JAVA va dans le "esle" et me met le message de la mauvaise réponse. voici mon programme avec ma fonction:
package fr.simon.programme;

import java.util.Scanner;

public class Iv {
 
 int points = 0;

public void v1(){
  System.out.println("Be - was/were - ? - être");
  System.out.print("Saisissez :");
  Scanner input = new Scanner(System.in);
  String valeur = input.next();
  if(valeur == "been") {
   System.out.println("Bonne réponse !"); 
   points ++;
  }
   else {
    System.out.println("Mauvaise réponse, voici la bonne ===> 'been' ");

et voici mon programme d'execution :
public static void main(String[] args) {
  
  Iv verbe = new Iv();
    
  System.out.println("_____ IREGULAR VERBS QUIZZ _____ ");
   verbe.v1();

voila et si vous le tester et que vous entrez la bonne réponse "been", le programme basculera quand même sur le esle.

Merci d'avance

1 réponse

Messages postés
6
Date d'inscription
jeudi 11 février 2021
Statut
Membre
Dernière intervention
25 avril 2021
1
Bonjour,

Je pense que ton problème a un rapport avec le fait qu'on évite de comparer deux Strings avec == mais qu'on utilise plutôt la fonction "equals". Je te conseille donc de tester ton programme comme cela : if (valeur.equals("been")).