Erreur dans une boucle do while + switch [Résolu]

Signaler
Messages postés
5
Date d'inscription
samedi 26 mars 2011
Statut
Membre
Dernière intervention
26 juin 2011
-
Messages postés
5
Date d'inscription
samedi 26 mars 2011
Statut
Membre
Dernière intervention
26 juin 2011
-
Bonjour,
j'ai besoin d'un coup de pouce pour finir mon prog, je n'obtiens pas ce que je pensais.
J'ai fais un menu de 1 à 7: quand l'utilsateur tape 7 c'est pour quitter mais je voudrais lui demander juste avant de quitter:
SI il reste des fenêtres ouvertes
SI il veut les sauvegarder
SI oui aller à la case 6
SI NON quitter en fermant sans enregistrer
Le oui fonctionne mais le Non ne fonctionne pas, le prog se bloque, il se passe rien après la saisi.

Merci d'avance

j'ai fait une methode pour quitter:


	public int quitterImage(){
//if(this.mesImagesCrees.length !=0 || this.mesImagesLues.length !=0){
if(this.mesImagesCrees.length !=0){
Terminal.ecrireStringln("Il reste des images non enregistrees!");
Terminal.ecrireString("Voulez_vous quitter sans les enregistrer(O/N)? : ");
char rep=Terminal.lireChar();
rep=Character.toUpperCase(rep);
if(rep!='O'){
return 6; //retour a case 6
}
else
return 7;
}
return 7;
}



dans le main simplifié :

do{
        try{
           choix= menuUtilisateur.afficherChoisir();//affiche le menu
           switch(choix){
               case 1: System.out.print("nom du fichier à ouvrir:");
               break;
               case 2:System.out.print("fermer");
               break;
               case 3:System.out.print("creer");
               break;
               case 4:System.out.print("incruster une image");
               break;
               case 5:System.out.print("traiter une image");
               break;
               case 6:System.out.print("sauvegarder");
               break;
           }//switch
        }//try
        catch (ChoixIncorrect e){
            Terminal.ecrireStringln("Attention mauvaise saisi, recommencez!");
        }
    }
    while(choix!=7);
if(MaCollection.quitterImage()!=7)
choix= 6; //je vais a la sauvegarde
else{
choix= 7; //je quitte pour de bon
try{
MaCollection.fermerTout();
}
catch(BitmapAbscent e){
}
System.out.print("A bientôt");
}

}//main

2 réponses

Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
salut,

quel structure etonnante!!!?? ;o) pourquoi diable utiliser le java?? ;o) ...

Enfin! si ton programme bloque c est peu etre tout simplement parceque tu as oublier le System.exit(0)??!!

Rq : pour ne fait tu pas le traitement de la valeur 7 dans ta close Switch???

GodConan ;o)
Messages postés
5
Date d'inscription
samedi 26 mars 2011
Statut
Membre
Dernière intervention
26 juin 2011

Bonjour,
Désolée, je suis en première année et on a un cours en java,c'est le bazar mon code ?
j'ai suivi tes conseils et ça fonctionne.
Merci!