Probleme avec la commande Scanner

Fermé
___Simon___ Messages postés 1 Date d'inscription jeudi 22 avril 2021 Statut Membre Dernière intervention 22 avril 2021 - Modifié le 22 avril 2021 à 19:35
BlueKapotte Messages postés 8 Date d'inscription jeudi 11 février 2021 Statut Membre Dernière intervention 18 octobre 2021 - 22 avril 2021 à 16:25
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
A voir également:

1 réponse

BlueKapotte Messages postés 8 Date d'inscription jeudi 11 février 2021 Statut Membre Dernière intervention 18 octobre 2021 1
22 avril 2021 à 16:25
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")).
1