If est string .....

maminovadu75 Messages postés 37 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 16 novembre 2006 - 22 nov. 2005 à 16:05
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020 - 23 nov. 2005 à 08:39
Bonjour j'ai un problème .



while(!commande.equalsIgnoreCase("quitter") && !commande.equalsIgnoreCase("exit") )

{



/** La methode getAbsolutePath

/* permet d'afficher le répertoire

/* courant d'un fichier.

*/

System.out.print(Navigation.getAbsolutePath() + ">");



/** La methode split

/* permet de diviser

/* une variable String

*/

commande = Lire.S();

String[] results = commande.split(" +");



if(commande.equalsIgnoreCase("aide"))

{

stop.pause();

}

else if(commande.equalsIgnoreCase("quitter"))

{

stop.pause();

}

else

{

System.out.println("La commande "" + commande + "" n'est pas valide");

System.out.println("lancez-vous la commande "aide" pour plus de d\u201atail.\n");

}



} /* Fin de la boule. Si cette boucle est quitté le programme est fini.*/





et

public class pause

{

void pause()

{

int i;

System.out.print("Appuyez sur une touche pour continuer...");

try { i = System.in.read(); }

catch ( Exception e ) { }

}



il n'y as pas d'erreur de compilation. mais quand je tape aide, il me
demander bien d'appuyer sur la touche et après il m'envoie le texte
marqué dans le else .

Par contre si je tape quitter, il n'y as aucun porblème

4 réponses

cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
22 nov. 2005 à 16:33
Fait un System.out.println(results); pour voir s'il n'y aurais pas une ligne ne contenant que \n. Cela expliquerait pourquoi tu as les 2 affichages pour la saise de "aide".
0
maminovadu75 Messages postés 37 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 16 novembre 2006
22 nov. 2005 à 16:41
NOn il n'y as pas de ligne qui est sauté
0
jcodeunpeu Messages postés 365 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 2 décembre 2006 2
22 nov. 2005 à 18:21
Salut,
As-tu testé la valeur de commande aprés split ?
et de result[0] , à mon avis le mot n'est pas reconnu.


l'objet stop sur lequel tu invoques la méthode pause, esst-ce qu'il est initialisé et est-ce que c'est bien une instance de Pause (si je peux conseiller, démarque le nom de la classe par une maj ...) ?
A+
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
23 nov. 2005 à 08:39
à force d'imbriquer des if, on a du mal à se retrouver. je te propose une structure plus claire.


Boolean codeInvalide=true ;


if(commande.equalsIgnoreCase("aide"))
{
stop.pause();


codeInvalide=false;


}
if(commande.equalsIgnoreCase("quitter"))
{
stop.pause();
codeInvalide=false;
}
if (codeInvalide) {
System.out.println("La commande "" + commande + "" n'est pas valide");
System.out.println("lancez-vous la commande "aide" pour plus de d\u201atail.\n");
}
0
Rejoignez-nous