Problème Débutant Java

Résolu
Akwaa_ -  
 Akwaa_ -
Bonjour,
je commence juste à programmer sur java et je rencontre déjà quelques problèmes : je vous met mon script :

package fr.myprogramme;

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
    // TODO Auto-generated method stub
  
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   String indentifiantx = "Pseudo-MotDePasse";
  
          Scanner sc = new Scanner(System.in);
   System.out.println("Saisissez votre identifiant sous la forme Pseudo-MotDePasse : ");
   String identifiantx = sc.nextLine();
   
   String[] identifiant = identifiantx.split("-");
   
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   
   if(identifiant.length == 2) {
     System.out.println("Pseudo : "+identifiant[0]);
     System.out.println("MotDePasse : "+identifiant[1]); 
     if(identifiant[0] == "v" && identifiant[1] == "g") {
    System.out.println("Accès Accepté !"); }
       else {
        System.out.println("Accès Refusé !"); } }
     else {
       System.out.println("Veuillez respecter la consigne !"); }
   
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

La première partie fonctionne mais au moment des conditions if else, je rencontre quelques problèmes : la première condition if else avec identifiant.length et "Veuillez respecter la consigne !" marche très biens mais après, que j'écrive a-b ou bien v-g comme demandé, sa me met toujours accès refusé ! Merci de m'aider je débute :) !
Configuration: Windows / Chrome 81.0.4044.138

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Pour les objets, l'opérateur
    ==
    compare les références des objets, pas leurs valeurs.

    Donc
    identifiant[0] == "v" && identifiant[1] == "g"
    sera toujours faux.

    Il faut utiliser la méthode equals à la place :
    if (identifiant[0].equals("v") && identifiant[1].equals("g")) {
    1
    1. Akwaa_
       
      Merci beaucoup !
      0