Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1563 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Demande de delocage conversion String en booleen

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Demande de delocage conversion String en booleen

n°2307595
dmayorie
Posté le 10-11-2017 à 20:00:51  profilanswer
 

Bonjour je suis debutant en Java et je viens de suivre un cours par distance sur les String.

 

Actuellement je suis en train de faire un exercice qui n'a pas de corriges.

  


public static boolean continuer (String msgInvite){
        String saisie;

 

       boolean continuer;
        continuer = true;
       
       

 

       System.out.println(msgInvite);
       
        saisie = Clavier.lireString();

 

       continuer = saisie.equalsIgnoreCase("oui" );
        continuer = saisie.equalsIgnoreCase("non" );
        continuer = saisie.equalsIgnoreCase("o" );
        continuer = saisie.equalsIgnoreCase("n" );

 

       int strlen;
        strlen=saisie.length();
       
       

 

       do {
            saisie = Clavier.lireString();  
           
            do  {
                System.out.println ("ERREUR! La reponse doit etre oui, non , o ou n" );
                saisie = Clavier.lireString();
            } while (strlen > 3 || strlen == 2 );

 

           continuer = !"oui".equals(saisie);
            continuer = !"non".equals(saisie);
            continuer = !"o".equals(saisie);
            continuer = !"n".equals(saisie);
           
            System.out.println ("ERREUR! La reponse doit etre oui, non , o ou n" );

 

           

 

       } while (continuer = false );
       
        return continuer;
    }

  


Message édité par dmayorie le 11-11-2017 à 23:56:18
mood
Publicité
Posté le 10-11-2017 à 20:00:51  profilanswer
 

n°2307601
rat de com​bat
attention rongeur méchant!
Posté le 10-11-2017 à 22:23:59  profilanswer
 

C'est mieux d'utiliser les boutons "code" et "citation" du forum que de colorer le texte.
 
Je ne "parle" pas le Java, mais ceci

Citation :

 continuer = saisie.equalsIgnoreCase("oui" );
        continuer = saisie.equalsIgnoreCase("non" );
        continuer = saisie.equalsIgnoreCase("o" );
        continuer = saisie.equalsIgnoreCase("n" );

me paraît douteux, la variable ne va garder que le résultat du dernier appel (avec "n" ). Aussi ceci

Citation :

while (continuer = false );

est une erreur ultra-classique, tu confonds '=' pour assigner une valeur à une variable avec '==' pour faire une comparaison.

n°2307606
dmayorie
Posté le 11-11-2017 à 02:08:16  profilanswer
 

Par desespoir et a bout d'idees, je propose ceci et je sais que c'est du n'importe quoi :

 


Citation :

public static boolean continuer (String msgInvite){
        String saisie;

 

       boolean continuer;
        continuer = true;

 

       System.out.println(msgInvite);
        saisie = Clavier.lireString();
       
        // Dans cette partie, la variable ne va garder que
        //le résultat du dernier appel (avec "n" ).
        // Je ne vois pas comment faire autrement.
        continuer = saisie.equalsIgnoreCase("oui" );
        continuer = saisie.equalsIgnoreCase("non" );
        continuer = saisie.equalsIgnoreCase("o" );
        continuer = saisie.equalsIgnoreCase("n" );

 

       int strlen;
        strlen=saisie.length();

 

       do {
            saisie = Clavier.lireString();
           
            if (continuer == !"oui".equals(saisie) && continuer == !"non".equals(saisie)
            && continuer == !"o".equals(saisie) && continuer == !"n".equals(saisie)) {
                System.out.println ("ERREUR! La reponse doit etre oui, non , o ou n" );
            }
           
            if (strlen > 3 || strlen == 2) {
                System.out.println ("ERREUR! La reponse doit etre oui, non , o ou n" );
                saisie = Clavier.lireString();
            }
        } while (continuer == false);
        return continuer;
    }



Message édité par dmayorie le 11-11-2017 à 02:12:36
n°2307619
dmayorie
Posté le 11-11-2017 à 18:14:30  profilanswer
 

Si jecomprends bien,  le equalsIgnoreCase( ) fait en meme un equal et un ignore case a un String. J'ai tjs assume que equalsIgnoreCase( ) etait un String signifiait ignorer Maj et Min. Et que le boolean equal(String s) signifiait respecter la longueur du String.

n°2307622
dmayorie
Posté le 11-11-2017 à 18:46:10  profilanswer
 

J'apprends.
 
 
Par contre, une chose que je souhaiterais ajouter : un message de FIN DE PROGRAMME" quand je saisie non. Je fais comment !!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Demande de delocage conversion String en booleen

 

Sujets relatifs
[VBA] formatage string[Résolu] VB script : Conversion Str en Int
Demande d'aide pour projet persoDetection et remplacement string
table conversion en assembleurcomparaison string perl
[html5 / css / php] débutant demande aide edit (php)Simplifier une ligne de push_back (string) répétitifs
Convertir binaire en string (noob) [résolu][Python] Replace string tuple
Plus de sujets relatifs à : Demande de delocage conversion String en booleen


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR